代码/语法 | 说明 |
---|---|
| | 分支条件,或 |
[...] | 字符集合,多选一 |
[a-z] | 指定范围的字符集合 |
[^...] | 取反的字符集合 |
要想匹配数字,字母,空白是很简单的,因为已经有了对应这些字符集合的元字符,但是如果你想匹配没有预定义元字符的字符集合(比如:元音字母 a,e,i,o,u )
很简单,你只需要在方括号 [ ] 里列出它们就行了,像 [aeiou] 匹配任何一个英文元音字母, [.?!] 匹配任一个标点符号
[...] 里面写再多的字符集合,最终也只会匹配一个字符,和元字符一样,如果需要重复匹配需要加上限定符
元字符 | 等价语法 |
---|---|
\w | [a-zA-Z0-9_] |
\W | [^a-zA-Z0-9_] |
\s | [\n\t\r\f] |
\S | [^\n\t\r\f] |
\d | [0-9] |
\D | [^0-9] |
\(?0\d{2}[) -]?\d{8}
分析:
\(
\d{2}
)
\d{8}
[123aA;]
只能匹配 [ ] 里面的字符
[\u4e00-\u9fa5]
任意中文字符
^\d[a-gA-Z5-9]{2,4}
分析:
^[0-9][a-gA-Z5-9]{2,4}
[^abcdA-Z()-=]
分析:
可以匹配非 a、b、c、d、A-Z、( 、) 、- 、= 以外的字符
[a-z]
[...]
ab|cd|123|.{2}
0\d{2}-\d{8}|0\d{3}-\d{7}
\d{5}-\d{4}|\d{5} :可以匹配 5 位数字 或 5位数字 - 4位数字
\d{5}|\d{5}-\d{4} :只能匹配 5 位数字
明明表达式差不多一样啊,只是前后位置换了下而已,为啥第二种写法只能匹配 5 位数字呢?
\d{5}-\d{4}
\d{5}