re正则匹配 必会的80%操作

re正则匹配

一、匹配语法

1、re.match() # 从头开始匹配,第一个字符就要符合规则
import re
res =re.match(r'[a-z]{3}\d{11}','qas13223455432') # 'qas'

2、re.search() # 匹配包含
import re
res = re.search(r'\d{11}','qas13223455432') # '13223455432'
3、re.findall() # 把所有匹配到的字符放在列表中返回
import re
res = re.findall("ab{1,3}","abb abc abbcbbb") #['abb', 'ab', 'abb']

4、re.split() # 以匹配到的字符当作列表分隔符
import re
re.split("\d+","abcabc123abbacbbb") # '['abcabc', 'abbacbbb']

5、re.sub() # 匹配字符并替换
import re
aaa = 'asnkjadkah2312AJSN'
p = re.compile(r'[a-z]')
res = p.sub('0', aaa) # 00000000002312AJSN

6、re.fullmatch # 全部匹配
import re
res = re.fullmatch(r'\w*\d{11}','qas13223455432') # qas13223455432

7、re.compile(pattern,flags=0) # 提前编译好,省去每次匹配前的编译过程
pattern: 正则匹配规则
flags:标志符
1) re.I(re.IGNORECASE): 忽略大小写(括号内是完整写法,下同)
2) re.M(MULTILINE): 多行模式,改变’^’和’$’的行为
3) re.S(DOTALL): 改变’.’的行为,make the ‘.’ special character match any character at all, including a newline; without this flag,.’ will match anything except a newline.
4) re.X(re.VERBOSE) 可以给你的表达式写注释,使其更可读,下面这2个意思一样 
a = re.compile(r"""\d + # the integral part
                \. # the decimal point
                \d * # some fractional digits""", 
                re.X)
b = re.compile(r"\d+\.\d*")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值