基础语法
-
元字符
^ 匹配行或者字符串的起始位置
$ 匹配行或者字符串的结束位置
\s 匹配空格
\d 匹配数字
\w 匹配数字、字母、下划线,单词字符
\b 匹配单词边界
. 匹配除了换行符以外的所有字符
[abc] 匹配中括号中的所有字符 -
反义的表示
\S 匹配非空格的字符
\D 匹配非数字
\W 匹配非单词字符
\B 匹配非单词边界
[^abc] 匹配除括号中以外的其他字符 -
量词
(*) 重复任意次(贪婪)
(+) 重复至少一次(懒惰)
? 重复零次或一次(占有)
{n} 重复n次
{n,} 至少重复n次
{n,m} 重复n到m次 -
懒惰限定符
*? 重复任意次,尽可能少
{n,m} 重复n到m次,尽可能少 -
捕获分组
(exp) 匹配exp,并捕获文本到自动命名的组里
(?<name>exp) 匹配exp,并捕获文本到名称为name的组里
(?:exp) 匹配exp,但是不捕获文本也不分配组
(?=exp) 匹配exp前面的位置,但不匹配exp【与上一个的区别主要在这里】
(?<=exp) 匹配exp后面的位置
(?!exp) 匹配后面不是exp的位置
(?<!exp) 匹配前面不是exp的位置 -
模式修正符
/g 全局查找
/i 忽略大小写
/m 多行查找,只在包括^或$时起作用
进阶知识
- test、exec、match的区别
- RegExp.prototype.compile 方法会加快正则匹配的速度
网友评论