编程语言
首页 > 编程语言> > python爬虫学习-re模块的使用

python爬虫学习-re模块的使用

作者:互联网

import re

lst = re.findall(r"\d+", "my phone is:10086")  # 匹配字符串中所有的符合正则的内容,返回的是一个列表
#print(lst)
'''
finditer:匹配字符串中所有的内容,返回的是迭代器,从迭代器中得到内容需要.group(),效率比findall高
'''
it=re.finditer(r"\d+", "my phone is:10086")
#print(it)
for i in it:
    print(i.group())

'''
search:全文匹配,找到一个结果就返回,返回的是match对象,拿到数据需要.group()
'''
s=re.search(r"\d+", "my phone is:10086")
#print(s.group())
'''
match:从头开始匹配,这是与search的区别
'''
s=re.match(r"\d+", "my phone is:10086")
#print(s.group())#这时会报错,因为不是以数字开头

#预加载正则表达式,实现反复使用
obj=re.compile(r'\d+')
ret=obj.finditer("my phone is:10086")
for i in ret:
    print(i.group())

'''
(?P<分组名字>正则):可以单独从正则匹配的内容中进一步提取内容
re.S可以使.可以匹配换行
'''
t="<div class='zps'><span id='1'>张三</span></div> "
obj1=re.compile(r"<div class='.*?'><span id='(?P<id>\d+)'>(?P<name>.*?)</span></div>",re.S)
result=obj1.finditer(t)
for i in result:
    print(i.group("id"))
    print(i.group("name"))

标签:group,phone,python,10086,爬虫,re,print,my
来源: https://blog.csdn.net/qq_57987156/article/details/122149199