-
正则表达式
https://deerchao.net/tutorials/regex/regex.htm
\b是正则表达式规定的一个特殊代码(好吧,某些人叫它元字符,metacharacter),代表着单词的开头或结尾,也就是单词的分界处
. 是另一个元字符,匹配除了换行符以外的任意字符
*同样是元字符,不过它代表的不是字符,也不是位置,而是数量——它指定*前边的内容可以连续重复使用任意次以使整个表达式得到匹配
\d是个新的元字符,匹配一位数字(0,或1,或2,或……)。
0\d{2}-\d{8},这里\d后面的{2}({8})的意思是前面\d必须连续重复匹配2次(8次)
{5,12}则是重复的次数不能少于5次,不能多于12次
-
元字符
常用的元字符 |
|
代码 |
说明 |
. |
匹配除换行符以外的任意字符 |
\w |
匹配字母或数字或下划线或汉字(?汉字存疑) |
\s |
匹配任意的空白符 |
\d |
匹配数字 |
\b |
匹配单词的开始或结束 |
^ |
匹配字符串的开始 |
$ |
匹配字符串的结束 |
-
字符转义\
\.和\*。当然,要查找\本身,你也得用\\
-
字符类,也就是[]范围
\(?0\d{2}[) -]?\d{8}这个表达式可以匹配几种格式的电话号码,像(010)88886666,或022-22334455,或02912345678等。
首先是一个转义字符\(,它能出现0次或1次(?),然后是一个0,后面跟着2个数字(\d{2}),然后是)或-或空格中的一个,它出现1次或不出现(?),最后是8个数字(\d{8})。
-
分枝条件
用|把不同的规则分隔开
-
反义
常用的反义代码 |
|
代码/语法 |
说明 |
\W |
匹配任意不是字母,数字,下划线,汉字的字符 |
\S |
匹配任意不是空白符的字符 |
\D |
匹配任意非数字的字符 |
\B |
匹配不是单词开头或结束的位置 |
[^x] |
匹配除了x以外的任意字符 |
[^aeiou] |
匹配除了aeiou这几个字母以外的任意字符 |