| 函数 | 说明 |
|---|---|
| finditer | 匹配字符串中所有的内容 返回的是迭代器 |
| findall | 匹配字符串中所有的符合正则的内容 |
| search | 找到一个结果就返回。拿数据需要.group() |
| match | 是从头开始匹配, 相当于^ |
| compile | 预加载正则表达式 |
(?P<组名>正则) : 可以单独从正则匹配的内容中进行一部提取内容
# 正则表达式re
import re
# findall 匹配字符串中所有的符合正则的内容
lst = re.findall(r"d+", "我的手机号是10010,他的手机号是10086")
print(lst)
print()
# finditer: 匹配字符串中所有的内容 返回的是迭代器
lst = re.finditer(r"d+", "我的手机号是10010,他的手机号是10086")
for i in lst:
print(i.group())
# search:找到一个结果就返回。返回的结果是match对象, 拿数据需要.group()
s = re.search(r"d+", "我的手机号是10010,他的手机号是10086")
print()
print(s.group())
# match 是从头开始匹配, 相当于^
s = re.match(r"d+", "10010,他的手机号是10086")
print()
print(s.group())
# 预加载正则表达式
obj = re.compile(r"d+")
drt = obj.finditer("我的手机号是10010,他的手机号是10086")
for it in drt:
print(it.group())
print()
lxm = """
猪八戒
送悟空
唐僧
二郎神
红孩儿
"""
# obj_1 = re.compile(r'.*?', re.S) # re.S :让点能匹配换行符
# (?P<组名>正则) : 可以单独从正则匹配的内容中进行一部提取内容
obj_1 = re.compile(r'd+)">(?P.*?)', re.S) # re.S :让点能匹配换行符
ret = obj_1.finditer(lxm)
for itt in ret:
print(itt.group("id")) # (?P<组名>正则) : (?Pd+)
print(itt.group("name")) # (?P<组名>正则) : (?P.*?)
输出结果:



