0%

正则表达式相关

正则元素

常用元字符

\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