元字符
.
匹配除换行符以外的任意字符\w
匹配字母或数字或下划线或汉字\s
匹配一个空白字符,包括空格、制表符、换页符和换行符。\d
匹配数字\b
匹配单词的开始或结束^
匹配字符串的开始$
匹配字符串的结束\n
匹配一个换行符\r
匹配一个回车符\0nn
ASCII 代码中八进制代码为 nn 的字符\xnn
ASCII 代码中十六进制代码为 nn 的字符\unnnn
Unicode 代码中十六进制代码为 nnnn 的字符[\u4e00-\u9fa5]
如果我们要查找元字符本身需要加上 \
转义,如:\*
\\w
重复
*
重复零次或更多次+
重复一次或更多次?
重复零次或一次{n}
重复 n 次{n,}
重复 n 次或更多次{n,m}
重复 n 到 m 次
字符类
- [a-zA-Z]
- [\w]
- [0-9]
分枝条件
|
或
分组
- (\d{1,3}){3}
反义
\W
匹配任意不是字母,数字,下划线,汉字的字符\S
匹配任意不是空白符的字符\D
匹配任意非数字的字符\B
匹配不是单词开头或结束的位置[^x]
匹配除了 x 以外的任意字符[^aeiou]
匹配除了 aeiou 这几个字母以外的任意字符
操练
- 0\d{2}-\d{8}
- (?0\d{2})?[- ]?\d{8}|0\d{2}[- ]?\d{8}
- ((2[0-4]\d|25[0-5]|[01]?\d\d?).){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
- /(?\d{3})?([-\/.])\d{3}\1\d{4}/