1.各种方法
import re #findall:匹配字符串中所有的符合正则的内容 lst=re.findall(r"\d+","我电话:192334,他的电话3434") print(lst) #finditer:匹配字符串中所有的符合正则的内容(返回迭代器), iter=re.finditer(r"\d+","我电话:192334,他的电话3434") for m in iter: print(m.group()) #re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none iter=re.match(r"\d+","192334,他的电话3434") print(iter) if iter: print(iter.group()) #re.search 扫描整个字符串并返回第一个成功的匹配。 iter=re.search(r"\d+","我的电话192334,他的电话3434") print(iter) if iter: print(iter.group()) #预加载 pattern=re.compile(r'\d+?e34f(?P<test>.*?)ur') m=pattern.match('2one12twothree34four', 0, 10) # print(m.group()) m1=pattern.finditer("'2one12twothree34four'",re.S) print("=========") for i in m1: print("test",i.group("test"))
2.事例
import requests import re url='https://movie.douban.com/top250' #添加请求头 dic={ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36" } resp=requests.get(url,headers=dic) # print(resp.text) html=resp.text #print(html) #re.S:让.匹配换行符 pattern=re.compile(r'<li>.*?<div class="item">.*?<span class="title">(?P<title>.*?)</span>.*?<br>(?P<year>.*?) ',re.S) print(type(html)) result=pattern.finditer(html) for i in result: print(i.group("title")) print(i.group("year").strip())
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2021-07-27 ingress-nginx