Python教程

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"))

这篇关于python爬虫学习-re模块的使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!