python正则表达式
2021-03-15
\d匹配一个数字\w匹配一个数字或字母.匹配任意字符*匹配0到多个字符,+匹配1到多个字符,?匹配0或1个字符,{n}表示n个字符,{n,m}表示n-m个字符\s匹配一个空格(也包括tab)
\d{3}\s+\d* #匹配3个数字,后面至少有一个空格,再后面有可能有数字,有可能没数字
[]可用于更精确的匹配
[0-9a-z\_] #匹配一个数字或一个小写字母或一个下划线
A|B可匹配A或B^表示行的开头,^\d表示必须以数字开头$表示行的结束,$\d表示必须以数字结束
re模块 #
- 因为python字符串本身也用
\转义,可以使用r前缀,就可以不用考虑字符串转义了。r'ABC\-001' re.match(r'\d{3}\-\d$'),'010-1'),如果匹配成功就返回一个Mache对象,否则返回none。re.split(r'[\s\,]+','a,b, c d'),切割字符串,能切割出['a','b','c']- 正则表达式还有提取字串的功能,用
()表示的就是要提取的分组。r'(\d{3})-(\d{3,8})'就定义了两个组,可以使用group(n)方法提取出子串
贪婪匹配 #
- 正则默认的时贪婪匹配,加个
?就可以采用非贪婪匹配。\d+?
r = re.match('(\d+?)(0*)$','1200000')
print(r.groups())
#结果('12', '00000')