python re模块

  1. re 模块下的常用方法

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