几种re
模块中使用正则表达式的方法
-
findall
查找字符串中所有符合正则表达式的内容,返回 list
import re
list = re.findall(r"/d+","今天是2021年7月5日")
print(list)
-
finditer
查找字符串中所有符合正则表达式的内容,返回迭代器
it = re.finditer(r"\d+","今天是2021年7月5日")
print(it)
for i in it:
print(i)
for i int it:
print(i.group())
-
search
查找字符串中第一个符合正则表达式的内容,返回match对象
s = re.search(r"\d+","今天是2021年7月5日")
print(s)
print(s.group())
-
match
从头开始匹配符合正则表达式的内容
s = re.match(r"\d+","今天是2021年7月5日")
print(s.group())
s = re.match(r"\d+","2021年7月5日")
print(s.group())
预加载正则表达式
obj = re.compile(r"\d+")
通过 group
名,提取需要的内容
s = """
<div class='one'><span id='1'>猫猫</span></div>
<div class='two'><span id='2'>狗狗</span></div>
<div class='three'><span id='3'>兔兔</span></div>
<div class='four'><span id='4'>鸭鸭</span></div>
"""
obj = re.compile(r"<div class='.*?'><span id='.*?'>(?P<NAME>.*?)</span></div>",re.S)
result = obj.finditer(s)
for i in result:
print(i.group())
for i in result:
print(i.group("NAME"))