码迷,mamicode.com
首页 > 编程语言 > 详细

python-re模块

时间:2018-05-26 20:27:30      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:www.   优先   port   取消   分割   sub   color   迭代器   模块   

#正则元字符:^ $ . * + ? [] {} () \ | 
#()分组
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模块

标签:www.   优先   port   取消   分割   sub   color   迭代器   模块   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!