re 模块
1、re.match
re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()返回none。
re.match(pattern,string,flags=0)
最常规的匹配
import re
content ='hello 123 4567 World_This is a Regex Demo'
result = re.match('^hello\s\d[4]\s\w[10].*Demo$')
print(result)
print(result.group())
print(result.span())
泛匹配
import re
content ='hello 123 4567 World_This is a Regex Demo'
result =re.match('^hello.*Demo$',content)
print(result)
print(result.group()) //结果
匹配目标
import re
content ='hello 123 4567 World_This is a Regex Demo'
result=re.match('^Hello\s(\d+)\sWorld.*Demo$',content)
print(result.group(1)) //取第一个小括号中的内容。
贪婪匹配
import re
content ='hello 123 4567 World_This is a Regex Demo'
result =re.match('^He.*(\d+).*Demo$',content)
print(result。group(1)) // 结果 7
非贪婪匹配
import re
content ='hello 123 4567 World_This is a Regex Demo'
result =re.match('^He.*?(\d+).*Demo$',content)
print(result.group(1)) //结果1234567
匹配模式
import re
content ='Hello 123 4567 World_This
is a Regex Demo' //有换行
result =re.match('^He.*?(\d+).*?Demo$',content,re.S) //可以匹配换行符
print(result.group(1)) //1234567
转义
import re
content ='price is $5.00'
result = re.match('price is $50.00',content)
print(result) //结果 None
转
import re
content ='price is \$\5.00'
result = re.match('price is $50.00',content)
print(result)
2、re.search
re.search 扫描证儿歌字符串并返回第一个成功的匹配
import re
content = 'Extra strings Hello 12345678 World_This is a Regex Demo Extra strings'
result = re.search('Hello.*?(\d+).*?Demo',content) //对开头没有必要的要求
print(result.group(1))
3、re.findall
搜索字符串,搜索所有符合条件的字符串。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了