1.字符组 [ ]
匹配[ ]中的字符任意一次,[ ]后的字符完全匹配,区分大小写。
匹配所有数字[0-9]
匹配小写英文字母[a-z]
匹配大写英文字母[A-Z]
同时匹配大小写[a-zA-Z]
匹配特殊字符,比如要匹配0351-121 那么要用到转义字符,在要转义的字符前面加上\,如果是同时匹配[] () -等符号时,要把符号分开写:
[\[\]\(\)\-]
每个符号前面都加上\
2.取反
^ 后面加上不包含格式的字符
[^0-9]表示不取0-9之间的数字
[^a-z]表示不取a-z之间的字母
3.快捷方式
[\w]匹配任意字母,数字,下划线
[\d]匹配任意数字
[\s]匹配空白字符,空格,tab,换行
w,d,s大写表示取反
[\b]匹配单词边界
4.开始和结束
开始^,(放在区间里才表示取反),
^python 匹配以python开头的数据
python$ 匹配以python结尾的数据
5.字符
. 匹配任意字符,只能在[ ]外,但不包括换行符\n
?匹配可选字符,就是匹配?之前的字符0次或者1次
{} 在一个字符组后加上{N} 就可以表示在它之前的字符组出现N次。
重复区间,语法:{M,N},M是下界而N是上界,例如\d{3,4},匹配三个数字或者四个数字,不过有四个数字优先匹配四个数字,也就是贪婪模式。后面加?可以变成非贪婪模式。
使用 + 匹配1个到无数个,也就是{1,},使用 *代表0个到无数个,也就是{0,}