标签:display 字符串 返回值 findall search lap mat none iter
正则模块findall用法:
import re #正则模块 ret = re.findall(‘\d+‘, "alex3714pwd123") #将匹配结果以列表形式返回 print(ret) #[‘3714‘, ‘123‘]
正则search方法:
如果没有匹配到 那么返回值位none,而none没有group方法,会报错
import re #正则模块 ret = re.search(‘\d+‘, "alex3714pwd123") # 将匹配结果以对象形式返回,只匹配第一个 print(ret) #<re.Match object; span=(4, 8), match=‘3714‘> print(ret.group()) #匹配结果用group方法查看 3714
正则 search的分组
import re tag = ‘<span>search<\span>‘ ret = re.search(r‘>(\w+)<‘, tag) print(ret.group()) #>search< print(ret.group(1)) print(ret.groups()) #(‘search‘,) 保存分组
正则split方法:
import re #正则模块 new_str = re.split(‘\d+‘, ‘alex123egon12tonny1‘) #把目标字符串按照一定的正则表达式进行拆分 print(new_str) #[‘alex‘, ‘egon‘, ‘tonny‘, ‘‘]
正则sub方法:
import re str1 = ‘alex3714egon110eva666‘ str2 = re.sub(r‘\D‘, ‘M‘, str1) #用新的字符去替换原有匹配到的字符 print(str2) # MMMM3714MMMM110MMM666
正则subn方法:
import re str1 = ‘alex3714egon110eva666‘ str2 = re.subn(r‘\D‘, ‘M‘, str1) #用新的字符去替换原有匹配到的字符 print(str2) # (‘MMMM3714MMMM110MMM666‘, 11)元组形式展示替换后的字符串和替换次数
正则compile:
import re str1 = ‘alex3714egon110eva666‘ regx = re.compile(‘\d+‘) # 将正则表达式多次使用,可以减少每次匹配的编译次数 ret = regx.findall(str1) print(ret) #[‘3714‘, ‘110‘, ‘666‘]
正则finditer方法:
import re str1 = ‘alex3714egon110eva666‘ Iter = re.finditer(r‘\d+‘, str1) #将匹配结果作为一个迭代器返回 for item in Iter: print(item) #每一个item类是一个search结果 print(item.group()) # search结果掉用group方法 # <re.Match object; span=(4, 8), match=‘3714‘> # 3714 # <re.Match object; span=(12, 15), match=‘110‘> # 110 # <re.Match object; span=(18, 21), match=‘666‘> # 666
标签:display 字符串 返回值 findall search lap mat none iter
原文地址:https://www.cnblogs.com/dedadiao/p/11605330.html