正则元素
常用元字符
\w:匹配字母、数字、下划线。等价于 [A-Za-z0-9_]\W:匹配非字母、数字、下划线。等价于 [^A-Za-z0-9_]。
\b:匹配一个单词边界,也就是指单词和空格间的位置。例如, ‘er\b’ 可以匹配”never” 中的 ‘er’,但不能匹配 “verb” 中的 ‘er’。\B:匹配非单词边界。’er\B’ 能匹配 “verb” 中的 ‘er’,但不能匹配 “never” 中的 ‘er’。
\d:匹配任意一个阿拉伯数字(0 到 9)。等价于 [0-9]\D:匹配一个非数字字符。等价于[^0-9]。
\s:匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。\S:匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
^ :匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 \n 或 \r 之后的位置。$ :匹配输入字符串的结束位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 \n 或 \r 之后的位置。
\num:匹配 num,其中 num 是一个正整数。对所获取的匹配的引用。例如,’(.)\1’ 匹配两个连续的相同字符。
[\u4e00-\u9fff]:匹配中文
字符簇
[[:alpha:]] 任何字母[[:digit:]] 任何数字[[:alnum:]] 任何字母和数字[[:space:]] 任何空白字符[[:upper:]] 任何大写字母[[:lower:]] 任何小写字母[[:punct:]] 任何标点符号[[:xdigit:]] 任何 16 进制的数字,相当于[0-9a-fA-F]
例如:^[[:alpha:]]{3}$:匹配所有的 3 个字母的单词。
修饰符
| 修饰符 | 含义 | 描述 |
|---|---|---|
| i | ignore - 不区分大小写 | 将匹配设置为不区分大小写,搜索时不区分大小写: A 和 a 没有区别。 |
| g | global - 全局匹配 | 查找所有的匹配项。 |
| m | multi line - 多行匹配 | 使边界字符 ^ 和 $ 匹配每一行的开头和结尾,记住是多行,而不是整个字符串的开头和结尾。 |
| s | 特殊字符圆点.中包含换行符\n |
默认情况下的圆点.是匹配除换行符\n之外的任何字符,加上s修饰符之后,.中包含换行符\n。 |
正则环视
正则环视
(?<=Expression)
逆序肯定环视,表示所在位置左侧能够匹配 Expression
(?<!Expression)
逆序否定环视,表示所在位置左侧不能匹配 Expression
(?=Expression)
顺序肯定环视,表示所在位置右侧能够匹配 Expression
(?!Expression)
顺序否定环视,表示所在位置右侧不能匹配 Expression