正则表达式
视频:正则表达式30分钟入门40分钟进阶(绝对能学会)【二倍速观看】
测试网站:正则表达式在线测试【测试 + 可视化】
内容回忆:参考手册
最好的方法:询问 ChatGPT
import re
# 基础用法
result = re.findall(r"\d+", "123我是筱团465啦啦啦789")
print(result)
# ['123', '465', '789']
# 迭代器,常用用法
result = re.finditer(r"\d+", "123我是筱团465啦啦啦789")
for item in result:
print(item.group())
# 123
# 465
# 789
# 只搜索第一个匹配项
result = re.search(r"\d+", "123我是筱团465啦啦啦789")
print(result.group())
# 123
# 只匹配从头开始能完全匹配的一个匹配项
result = re.match(r"\d+", "123我是筱团465啦啦啦789")
print(result.group())
# 123
# 预加载
obj = re.compile(r"\d+")
for i in data:
result = obj.finditer(content)
# 实操
# 想要提取数据必须用小括号括起来,可以单独起名字
# (?P<名字>正则表达式)
# 提取数据的时候,需要 group("名字")
data = """
<div class='西游记'><span id='10010'>中国联通</span></div>
<div class='西游记'><span id='10086'>中国移动</span></div>
"""
obj = re.compile(r"<span id='(?P<id>\d+)'>(?P<name>.*?)</span>")
result = obj.finditer(data)
for item in result:
id = item.group("id")
print(id)
name = item.group("name")
print(name)
# 10010
# 中国联通
# 10086
# 中国移动
作者: 筱团
出处:https://www.cnblogs.com/CourserLi/p/17081118.html
本站使用「CC BY 4.0」创作共享协议,转载请在文章明显位置注明作者及出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了