首页 > 编程语言 > 详细

python-re模块

时间:2018-05-26 20:12:51      阅读:198      评论:0      收藏:0      [点我收藏+]
#正则元字符:^ $ . * + ? [] {} () \ | 
#()分组
import
re print(re.search((?P<name>[a-z]+)(?P<age>\d+),"asd123fgh456jkl789").group(‘name‘))
re.search() #懒惰模式 只返回第一个匹配的数据,再调用group()方法得到匹配的字符串
re.findall() #贪婪模式,但会所有满足匹配条件的结果,放到列表中。

re.match() #从开始位置匹配,懒惰模式
re.split() #字符串分割为列表
re.sub() #替换
re.subn() #替换
re.finditer() #匹配到的数据放在迭代器对象,适用于大批量数据的匹配,
print(re.split(‘[ |]‘,‘hello iam|matt‘)) #将字符串按空格或管道符分割
print(re.split(‘[ab]‘,‘asdabcd‘)) #按a或b分割
print(re.sub(‘a‘,‘A‘,‘aaaaaa‘)) #a替换为A
print(re.sub(‘a‘,‘A‘,‘aaaaaa‘,5)) #a替换为A,替换5次
print(re.subn(‘a‘,‘A‘,‘aaaaaa‘)) #并返回匹配次数
rule = re.compile(‘\d‘) #编译规则
print(rule.findall("12df34gh5h"))

print(re.findall(‘www\.(baidu|163|sina)\.com‘,‘d3d3d3f45g5gwww.baidu.com2ftg5hth6he‘)) #优先只返回分组中数据
print(re.findall(‘www\.(?:baidu|163|sina)\.com‘,‘d3d3d3f45g5gwww.baidu.com2ftg5hth6he‘)) #取消优先级,返回所有匹配数据


 

python-re模块

原文:https://www.cnblogs.com/benchdog/p/9094004.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!