16,re模块的常用方法
Posted zhangyajie
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了16,re模块的常用方法相关的知识,希望对你有一定的参考价值。
ret =re.findall(‘\d+‘, ‘eva123egon4yuan567‘) print(ret)#返回满足条件的结果 ,放在一个列表里。 ret2 = re.search(‘\d+‘,‘evaegonyu1an‘) print(ret2.group())# 函数会在字符串内查找模式匹配,只到找到第一个匹配然后返回一个包含匹配信息的对象,该对象可以 # 通过调用group()方法得到匹配的字符串,如果字符串没有匹配,则返回None。 ret4 = re.match(‘\d+‘,‘321eva123egon4yuan567‘) print(ret4) print(ret4.group())#不会直接返回结果,而是直接在正则表达式的开头加了一个^,判断是否已数字开头,知道找到字母为止。 ret = re.split(‘\d+‘,‘alex27egon18yuan40‘) print(ret)#判断以数字分割,返回一个列表
obj = re.compile(‘\d{3}‘)#将正则表达式编译成一个 正则表达式对象,规则要匹配的是3个数字。
print(obj)
ret = obj.search(‘abc123eeee‘)
print(ret.group()) #结果123
ret = obj.findall(‘abc123eeee456as12‘)#以列表的形式把匹配到的内容,返回到一个列表中,个数不够的则不匹配
print(ret)
ret = re.finditer(‘\d‘,‘ds3sy4784a‘)
print(ret)#<callable_iterator object at 0x000000751B208198>#回一个存放匹配结果的迭代器
# print(next(ret).group())#可以通过next()取值
# print(next(ret).group())
print([i.group() for i in ret])#也可以通过for循环取值,#查看剩余的结果。
ret = re.split(‘\d+‘,‘zhang123ya23jie‘) print(ret)#以数字分割,把结果以列表形式输出。 ret = re.search(‘<(\w+)>(\w+)<(/\w+)>‘,‘<h1>hello</h2>‘) print(ret.group(1))#第一个group组 print(ret.group(2))#第二个group组 print(ret.group(3))#第三个group组 给group组重命名 ret = re.search(‘<(?P<tag>\w+)>(?P<bbc>\w+)</(?P=tag)>‘,‘<h1>hello</h1>‘) print(ret.group(‘tag‘)) print(ret.group(‘bbc‘)) print(ret.group(‘tag‘))
以上是关于16,re模块的常用方法的主要内容,如果未能解决你的问题,请参考以下文章