re 模块下的常用方法
- 查找所有
re.findall('a','alvin yuan')
返回所有满足匹配条件的结果, 放在列表里
- 查找(只到找到第一个匹配)
re.search('a','alvin yuan').group()
函数会在字符串内查找模式匹配, 只到找到第一个匹配然后返回一个包含匹配信息的对象, 该对象可以
通过调用group()
方法得到匹配的字符串, 如果字符串没有匹配,则返回None
。
- 查找(仅在字符串开始处进行匹配)
re.match('a','abc').group()
同search
, 不过仅在字符串开始处进行匹配
- 将查找的内容作为迭代器
for match in re.finditer('\d','ds3sy4784a'):
print(match.group())
- 分割
ret=re.split('[ab]','abcd')
先按’a’分割’a’的左边无内容,则左边得到’’和右边’bcd’, 在对’’和’bcd’分别按’b’分割
print(ret)#['', '', 'cd']
- 替换
ret=re.sub('\d','abc','alvin5yuan6',1)
re.sub(参 1, 参 2, 参 3, 参 4)
参 1 表示匹配规则或字符,参 2 表示要替换成的字符串,参 3 表示被匹配的字符串,参 4 表示指定匹配次数
re.subn('\d','abc','alvin5yuan6')
返回一个元组,分别为替换后字符串,和本次替换的次数
- 编译(自定义规则)可重复使用
obj=re.compile('\d{3}') #返回一个规则对象
ret=obj.search('abc123eeee') #规则对象可以调用.search() .findall等方法
print(ret.group())#123
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 365433079@qq.com