正则表达式的构造摘要
构造 | 匹配 |
字符 | |
x | 字符x |
\\ | 反斜线字符 |
\on | 带有八进制值 0 的字符 n (0 <= n <= 7) |
\onn | 带有八进制值 0 的字符 nn (0 <= n <= 7) |
\omnn | 带有八进制值 0 的字符 mnn(0 <= m <= 3、0 <= n <= 7) |
\ohh | 带有十六进制值 0x 的字符 hh |
\uhhhh | 带有十六进制值 0x 的字符 hhhh |
\t | 制表符Tab |
\n | 换行符 |
\r | 回车符 |
\f | 换页符 |
\a | 报警符 |
\e | 转义符 |
字符类 | |
[abc] | a,b或者c(简单类) |
[^abc] | 任何字符,除了a,b,c(否定) |
[a-zA-Z] | a 到 z 或 A 到 Z,两头的字母包括在内(范围) |
[a-d[m-p]] | a 到 d 或 m 到 p:[a-dm-p](并集) |
[a-z&&[def]] | d、e 或 f(交集) |
[a-z&&[^bc]] | a 到 z,除了 b 和 c:[ad-z](减去) |
[a-z&&[^m-p]] | a 到 z,而非 m 到 p:[a-lq-z](减去) |
预定义字符类 | |
. | 任何字符(与行结束符可能匹配也可能不匹配) |
\d | 数字:[0-9] |
\D | 非数字: [^0-9] |
\s | 空白字符:[ \t\n\x0B\f\r] |
\S | 非空白字符:[^\s] |
\w | 单词字符:[a-zA-Z_0-9] |
\W | 非单词字符:[^\w] |
边界匹配器 | |
^ | 行的开头 |
$ | 行的结尾 |
\b | 单词边界 |
\B | 非单词边界 |
\A | 输入的开头 |
\G | 上一个匹配的结尾 |
\Z | 输入的结尾,仅用于最后的结束符(如果有的话) |
\z | 输入的结尾 |
数量词(贪婪型) | |
X? | X,一次或零次 |
X* | X,零次或多次 |
X+ | X,一次或多次 |
X{n} | X,恰好 n 次 |
X{n,} | X,至少 n 次 |
X{n, m} | X,至少 n 次,但是不超过 m 次 |
数量词(勉强型) | |
X?? | X, 一次或零次 |
X*? | X, 零次或多次 |
X+? | X,一次或多次 |
X{n}? | X, 恰好n次 |
X{n,}? | X, 至少n次 |
X{n, m}? | X,至少n次, 但是不超过m次 |
数量词(占有型) | |
X?+ | X, 一次或零次 |
X*+ | X, 零次或多次 |
X++ | X,一次或多次 |
X{n}+ | X, 恰好n次 |
X{n,}+ | X,至少n次 |
X{n,m}+ | X,至少n次, 但是不超过m次 |
逻辑操作符 | |
XY | X后跟Y |
X|Y | X或Y |
(X) | X,作为捕获组 |