[^]: []内的^表示取反, [^a-zA-Z] 指不可以是字母
.点
表示可以匹配任意字符(除了换行) .{2,5} 匹配2至5个任意字符
\d
匹配任何数字 等同于0-9 ; \D 等同^\d 不匹配任何字符
\w
包括字母、数字、或下划线_
\s
代表 [\r \n \t \f \v ]回车符、翻页符、空格等; \S 就是\s取反
举例: 匹配是字符或数字开头的163邮箱: ^ [a-zA-Z0-9]\w+@163.com%
^([a-zA-Z0-9]\w+)@163\.com%
^(?[a-zA-Z0-9]\w+)@163\.com% 将邮箱@前内容取出并将分组命名为first
^\d\d\d\d% 表示四位数字
^(\d\d)\1% \1表示后面的内容引用前面的第一个分组 所以表示第三四位要等于第一二位
^(?\d\d)\k% 等同于^(\d\d)\1% ,在对组取名称情况下,要用\k<>引用
(?=str) 匹配并取出内容,且内容还要在str前的才行 如:cdx(?=ohh) cdxohh可以匹配,但cdxkkk就不行
(?!) 对上述取反, 表示不能在str前的才行
(?<=str) 匹配并取出内容,且内容还要在str后的才行 cdx(?<=ohh) ohhcdx
(?