1. re.search()
从string全文中寻找 第一个 符合要求的,返回match对象
import re
match = re.search(r'[1-9]\d{3}','asd 1000asd82')#匹配连续的4个数字
if match:
print(match.group(0))
>>> 1000
2.re.match()
从string的开头开始匹配,返回match对象
import re
match = re.match(r'[1-9]\d{4}','10002asd82')#从开头匹配连续的5个数字
if match:
print(match.group(0))
>>> 10002
3.re,findall()
从string中全文搜索字符串,并以列表的类型返回全部能匹配的字符串
import re
ls = re.findall(r'[1-9]\d{3}','1000asd8212310030asd')#匹配连续的4个数字
print(ls)
>>> ['1000', '8212', '3100']
4.re.split()
返回列表
ls1 = re.split(r'[1-9]\d{3}','1000asd8212310030asd')
print(ls1)
>>>['', 'asd', '', '30asd']
ls2 = re.split(r'[1-9]\d{3}','1000asd8212310030asd',maxsplit=2)
print(ls2)
>>>['', 'asd', '310030asd']
5.re.finditer()
需要用for循环迭代的输出每一个结果,match对象
import re
for m in re.finditer(r'[1-9]\d{3}','1000asd8212310030asd'):
if m:
print(m.group(0))
>>> 1000
8212
3100
6.re.sub()
str = re.sub(r'[1-9]\d{3}','#QY$:!UI#','1000asd8212310030asd',count=1)
print(str)
>>>#QY$:!UI#asd8212310030asd
re库等价用法