import re
ret = re.findall("\d","yang123")
print(ret)
#输出结果
#[‘1‘, ‘2‘, ‘3‘]
import re
ret = re.findall("\d+","yang123")
print(ret)
#输出结果
#[‘123‘]
import re
ret = re.search("\d+","yang123")
print(ret) #此处输出的是一个对象
print(ret.group())
#输出结果
#123
import re
ret = re.search("\d","yang123")
print(ret) #此处输出的是一个对象
print(ret.group())
#输出结果
#1
#会从头到尾匹配匹配字符串中取出第一个符合条件的项
import re
ret = re.search("^\d","yang123")
print(ret) #如果匹配上返回一个对象,如果不能匹配上返回NONE
print(ret.group())如果是None则报错
#输出结果
ret = re.match("\d","1yang123")
print(ret)
#输出结果
#1
ret = re.findall("\d","1yang123"*200000000)
print(ret)#效率低,内存一下子干死
ret = re.finditer("\d","1yang123"*200000000) #迭代器
for i in ret: #迭代出来的每一项都是一个对象
print(i.group()) #通过group取值即可
ret = re.compile("\d+")
print(ret)
r1 = ret.search("ynag123")
print(r1)
r2 = ret.findall("zi456")
print(r2)
r3 = ret.finditer("laing789")
print(r3)
#compile与finditer联用
import re
ret = re.compile("\d+")
r3 = ret.finder("taiban123")
for i in r3:
print(i.group())
#输出结果
#1
#2
#3
import re
ret = re.split("\d","abaiysa12kccgsud21s")#默认只保留分组当中的内容
print(ret)
#输出结果
#[‘abaiysa‘, ‘‘, ‘kccgsud‘, ‘‘, ‘s‘]
#保留分组数字
import re
ret = re.split("(\d+)","abaiysa12kccgsud21s")
print(ret)
#输出结果为
#[‘abaiysa‘, ‘12‘, ‘kccgsud‘, ‘21‘, ‘s‘]
import re
ret = re.sub("\d","D","agsiaig12kjd") #对其进行替换
print(ret)
#输出结果
#agsiaigDDkjd
ret = re.subn("\d","D","agsiaig12kjd")#可以显示结果和更换次数
print(ret)
#输出结果
#(‘agsiaigDDkjd‘, 2)
ret = re.subn("\d","D","agsiaig12kjd",1) #只更换第一处
print(ret)
#输出结果
#(‘agsiaigD2kjd‘, 1)
原文:https://www.cnblogs.com/yangzilaing/p/14880524.html