构造正则表达式

构造正则表达式

有3种构造正则的方式:字面量,构造函数,工厂函数

// 字面量
/pattern/flags

// 构造函数
new RegExp(pattern [, flags])

// 工厂函数
RegExp(pattern [, flags])

参数

pattern

  • 正则表达式的文本

flags

[可选],正则标志可以具有以下值的任意组合

  • g:全局匹配,找到所有匹配,而不是在第一个匹配后停止

  • i:忽略大小写

  • m:多行; 将开始和结束字符(^和$)视为在多行上工作

  • u:Unicode; 将模式视为Unicode序列点的序列

  • y:粘性匹配; 仅匹配目标字符串中此正则表达式的lastIndex属性指示的索引

正则表达式结构

常见正则表达式字面量由以下几个部分构成

/^一起学习[\d]{1,2}\s(RegExp)$/g.exec('一起学习01 RegExp');
// ["一起学习01 RegExp", "RegExp", index: 0, input: "一起学习01 RegExp", groups: undefined]
  • /正则匹配模式位于两个正斜杠之间

  • ^定位符,表示匹配输入文本开始位置

  • 一起学习普通字符,正则中元字符以外的字符

  • \d元字符,表示任意阿拉伯数字

  • {1,2}限定符,表示模式连续出现至少 n 次,至多 m 次

  • \s非打印字符,表示打印不可见字符,如:空格,换行符等

  • ()分组,表示匹配 RegExp 并且捕获匹配项

  • g标志,表示全局匹配

Last updated