正则
1、预留字符
| 限定符 | 说明 |
|---|---|
| . | 任意英文字母比如a-z,表示从a到z |
| ? | 当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串“oooo”,“o+?”将匹配单个“o”,而“o+”将匹配所有“o”。 |
| \ | 反斜杠, 单独的反斜杠做为转义字符,与其他特殊字符一起使用。如果想匹配反斜杠本身,需要转义。两个反斜杠实际匹配一个反斜杠n字符的8进制表示.n 在0至7之间取值 |
| nn | 字符的8进制表示.n 在0至7之间取值 |
| mnn | 字符的8进制表示. m 在0至3之间取值, n 在0至7之间取值 |
| \xhh | 字符的16进制表示. |
| \uhhhh | 字符的16进制表示 0xhhhh. 对应unicode 编码字符 |
| \t | 缩进符. |
| \n | 换行符 (unicode: ‘\u000A') |
| \r | 回车符 (unicode: ‘\u000D') |
| \f | 制表符 (unicode: ‘\u000C') |
| \a | 警报(铃声)字符 (unicode: ‘\u0007′) |
| \e | 转义符 (unicode: ‘\u001B') |
| \cx | 控制符 x |
| \d | 匹配任意数字 [0-9] |
| \D | 匹配任意非数字 [^0-9] |
| \s | 匹配任意空白符 (空格, 缩进, 换行,回车) |
| \S | 匹配任意非空白符 |
| \w | 匹配任意单词 |
| \W | 匹配任意非单词 |
2、设置指定限定条件**[]**(即“[]”表示的是中括符里的内容是条件)
| 限定符 | 说明 |
|---|---|
| [a-z] | 匹配小写a to z范围中任一个字符,又如[abc] 匹配 a, 或 b 或 c |
| [A-Z] | 匹配大写A to Z范围中任一个字符 |
| [a-zA-Z] | 匹配小写a to z或大写A to Z范围中一个字符 |
| [0-9] | 匹配小写0 to 9范围中一个字符 |
| [0-9a-z] | 匹配小写0 to 9或a to z范围中一个字符 |
| [0-9[a-z]] | 匹配小写0 to 9或a to z范围中一个字符(交集) |
| [^abc] | 匹配不是a,b,c 的字符,是否定匹配 |
| [a-zA-Z] | 匹配a 到 z ,A到Z 直接的字符,是范围匹配 |
| [a-d[m-p]] | 匹配a到d之间字符或 m到p之间字符,是并集匹配 |
| [a-z&&[def]] | 匹配 d, e, 或 f. 是交集匹配 (这里是在范围 a-z和字符def之间取交集). |
| [a-z&&[^bc]] | 匹配a-z 之间所有字符,排除bc的字符。是减法匹配 |
| [a-z&&[^m-p]] | 匹配a-z 之间所有字符,排除m-p之间的字符是减法匹配 |
3、边界匹配
| 边界符 | 说明 |
|---|---|
| ^ | 匹配行首 |
| $ | 匹配行尾 |
| \b | 匹配单词边界 |
| \B | 匹配非单词边界 |
| \A | 匹配文本开头 |
| \G | 匹配前一匹配项结尾 |
| \Z | 输入的结尾,仅用于最后的结束符(如果有的话) |
| \z | 匹配文本结尾 |
4、逻辑操作符和量词表示
正则表达式支持少量的逻辑运算(与,或)。与操作是默认的,表达式 cmo,意味着c 与 m与o。
或操作需要显示指定,用 | 表示。例如表达式 crazy|mo意味着crazy或 mo。
| 贪婪模式 | 饥饿模式 | 独占模式 | :说明: |
|---|---|---|---|
| X? | X?? | X?+ | 匹配0或1次,即出现X 0或者1次 |
| X* | X**? | X*+ | 匹配0或多次 |
| X+ | X+? | X++ | 匹配1或多次 |
| X{n} | X{n}? | X{n}+ | 匹配n次 |
| X{n,} | X{n,}? | X{n,}+ | 匹配最少n次 |
| X{n, m} | X{n, m}? | X{n, m}+ | 匹配最少n次,最多m次 |
浙公网安备 33010602011771号