正则表达式中的特殊字符
\ 匹配一个字符边界,表示下一个字符是特殊的
$ 匹配输入的结束
^ 匹配输入的开始
*匹配前一个表达式出现0次或者多次
+匹配前一个表达式出现1次或者多次
?匹配前一个表达式出现0次或者1次,等价于{0,1}
.匹配除换行符之外的任意字符
(x) 匹配'x'并且记住匹配项
(?:x) 匹配'x'并且不记住匹配项
x(?=y) 匹配'x'仅仅当'x'后面跟着'y'
x(?!y) 匹配'x'当'x'后面不跟着'y'
x|y 匹配x或者y
{n} n是一个正整数,匹配了前面一个字符刚好发生了n次
{n,m} n 和 m 都是整数。匹配前面的字符至少n次,最多m次。如果 n 或者 m 的值是0, 这个值被忽略。
[xyz] 一个字符集合。匹配方括号中的任意字符,包括转义序列
[^xyz] 一个反向字符集。它匹配任何没有包含在方括号中的字符
[\b] 匹配一个退格(U+0008)。
\b 匹配一个词的边界。一个词的边界就是一个词不被另外一个“字”字符跟随的位置或者没有其他“字”字符在其前面的位置。注意,一个匹配的词的边界并不包含在匹配的内容中。换句话说,一个匹配的词的边界的内容的长度是0。
\B 匹配一个非单词边界。他匹配一个前后字符都是相同类型的位置:都是“字”字符或者都不是“字”字符。一个字符串的开始和结尾都被认为不是“字”字符,或者空字符串。
\cX 当X是处于A到Z之间的字符的时候,匹配字符串中的一个控制符。
\d 匹配一个数字
\D 匹配一个非数字
\f 匹配一个换页符 (U+000C)。
\n 匹配一个换行符 (U+000A)。
\r 匹配一个回车符 (U+000D)。
\s 匹配一个空白字符,包括空格、制表符、换页符和换行符。
\S 匹配一个非空白字符。
\t 匹配一个水平制表符 (U+0009)。
\v 匹配一个垂直制表符 (U+000B)。
\w 匹配一个单字字符(字母、数字或者下划线)。
\W 匹配一个非单字字符。
\n 在正则表达式中,它返回最后的第n个子捕获匹配的子字符串(捕获的数目以左括号计数)。
\0 匹配 NULL (U+0000) 字符, 不要在这后面跟其它小数,因为 \0<digits> 是一个八进制转义序列。
\xhh 与代码 hh 匹配字符(两个十六进制数字)
\uhhhh 与代码 hhhh 匹配字符(四个十六进制数字)。
\u{hhhh} (仅当设置了u标志时) 使用Unicode值hhhh匹配字符 (十六进制数字).
正则表达式标志
g 全局搜索
i 不区分大小写搜索
m 换行搜索
y 执行“粘性”搜索,匹配从目标字符串的当前位置开始,可以使用y标志。
网友评论