正则表达式:把要匹配的字符按一定的规则进行提炼
1.匹配语法
match:从头开始匹配,应用于提炼手机号码
search:全局匹配,找到第一个值就返回
findall:把所有符合规则的值全部提炼构成一个列表
import re a = 'abc1234cc' b = re.findall('[0-9]',a) c = re.match('[0-9]',a) d = re.search('[0-9]',a) # 如果要取出使用search方法提炼的值,需要先进行判断 if c: print(c.group())
2.re的匹配规则
'.' 匹配任意一个字符,包括特殊符号。 re.search('.','abc123') 结果为'a'
'^' 匹配字符开头。re.search('^ab','abc') = re.match('ab','abc') 结果为‘ab’
'$'匹配字符结尾。re.search('b$','ab') 一般不搭配match使用。 结果为'b'
'*'匹配*前一个字符0次或多次。re.search('a*','aaabcc') 结果为'aaa'
'+' 匹配前一个字符1次或多次。
'?'匹配前一个字符0次或1次
'{m}'匹配前一个字符m次。re.search('[0-9]{5}','abc12399') 结果为'12399'
'{n,m}' 匹配前一个字符n-m次。
'|' 匹配|左或|右的字符。re.search('[a|A]lex','alex')