共计 660 个字符,预计需要花费 2 分钟才能阅读完成。
修饰符
i ignoreCase 忽略大小写
g global 全局匹配
m multiline 多行匹配
元字符
位置元字符
^ 匹配字符串的开始
$ 匹配字符串的结束
\b 匹配单词的开始或结束
\B 匹配非单词边界
(?=p) 匹配 p 前面的位置
(?!p) 匹配不是 p 前面的位置
基本元字符
. 匹配除了换行符之外的任何单个字符
\ 在非特殊字符之前的反斜杠表示下一个字符是特殊的
| 逻辑或操作符
[] 定义一个字符集合,匹配字符集合中的一个字符,在字符集合里面像 .,\ 这些字符都表示其本身
[^] 对上面一个集合取非
– 定义一个区间,例如 [A-Z],其首尾字符在 ASCII 字符集里面
() 分组,将相关的元素归拢,构成单个元素;多选结构,(…|…),规定可能出现的多个子表达式;引用分组,存储子表达式匹配文本,供之后引用。
特殊元字符
\d 0~9 任意一个数字
\D 非 0~9 之间的任意字符
\w 匹配包括下划线的任何单词字符
\W 匹配任何非单词字符
\S 非空字符
\s 不可见字符,如空格、回车、制表符
a|b a 或者 b 任意一个
[abc] a 或 b 或 c 任意一个
[^abc] 除了 a\b\c 之外的
[a-z] 表示 a 到 z 中任意一个字母 [0-9] 等价于 \d
[^a-z]
数量元字符
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复 n 次
{n,} 重复 n 次或更多次
{n,m} 重复 n 到 m 次
正则对象的方法
test
test 接受一个字符串参数,如果正则表达式与指定的字符串匹配返回 true 否则返回 false
exec
exec 同样接受一个字符串为参数,返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。