正则表达式
正则表达式
什么是正则表达式?
利用一些特殊符号的组合去字符串中筛选出符合条件的数据
字符组
ps: 特征是使用中括号括起来的 字符串默认只能单个单个字符匹配
[a-z] 匹配小写字母a到字母z其中任意一个字母
[A-Z] 匹配大写字母A到字母Z其中任意一个字母
[0123456789] 匹配0到9之间任何一个数字
[0-9] 这个是上面的简写
特殊符号
# 特殊符号默认也只能单个单个字符匹配
. 匹配除换行符以外的任意字符
\d 匹配数字
\w 匹配包括下划线的任何单词字符,等价于 [A-Z a-z 0-9_]
^ 匹配字符串的开始
$ 匹配字符串的结尾
"""^与$组合使用可以精准限制要查找的数据"""
a|b 匹配字符a或字符b
() 匹配括号内的表达式也表示一个组(不会影响正则表达式的匹配单纯的分组而已)
[...] 匹配字符组中的字符
[^...] 匹配除了字符组中字符的所有字符
量词
1.表达式在没有量词修饰的情况下 都是单个单个匹配
2.量词必须结合(字符组、特殊符号等)一起使用 不能单独出现
3.量词只能影响前面的一个表达式(ab+ 只能影响b)
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次
"""
正则表达式中的量词默认都是'贪婪匹配'
"""
贪婪匹配与非贪婪匹配
默认都是贪婪匹配,在 .*后加上 ?就是惰性匹配
不加?号:
加?号:
【推荐】国内首个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%的程序员都答错了