b 匹配字符串里hi 可以过滤him等词 例如bhib。
. 匹配除了换行符以外的任意字符
* 指定他前面的字符可以使用任意次数
.* 表示匹配除了换行符之外的字符任意次 例如:bhib.*bLucyb
d 匹配一位数字 例如:012-26602565 0dd-dddddddd
注意:0d{2}-d{8} 匹配省略写法 {}里的数字 表示重复多少次
s 匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等。
w 匹配字母或数字或下划线或汉字等。
baw*b 匹配以字母a开头的单词——先是某个单词开始处(b),
然后是字母a,然后是任意数量的字母或数字(w*),最后是单词结束处(b)。
d+匹配1个或更多连续的数字。这里的+是和*类似的元字符,
不同的是*匹配重复任意次(可能是0次),而+则匹配重复1次或更多次。
注意:* 和 + 的区别
^ 匹配字符串的开头
$ 匹配字符串结尾
^d{5,12}$ 匹配 5到12位数的QQ号码
注意:字符转义;
如果你想超找元字符本身,那么就需要转义。例如:. * 等
查找 就得用
字符类:
d匹配数字和[0-9]意思是一样的
[a-z0-9A-Z_]也完全等同于w(如果只考虑英文的话)。
复杂(?0d{2}[) -]?d{8} 可以匹配
(010)88886666,或022-22334455,或02912345678等
解析:首先是一个转义字符(,它能出现0次或1次(?),然后,
是一个0,后面跟着2个数字是一个0,
后面跟着2个数字(d{2}),然后是)或-或空格中的一个,
它出现1次或不出现(?),最后是8个数字(d{8})
| 分支匹配
0d{2}-d{8}|0d{3}-d{7}这个表达式能匹配两种,
以连字号分隔的电话号码
向后引用 1 b(w+)bs+1b可以用来匹配重复的单词,像go go,或者kitty kitty。 注意:1代表分组1匹配的文本