正则表达式入门
字符
使用.
表示任意(除了换行符以外)字符
使用[ce]
代表c或者e任意一个字符的字符集合
可以使用
-
表示范围, 比如[A-Z]
在[]
里面可以使用^
表示取反, 针对整个[]
范围内部的全部取反
- 不在
[]
中的^
代表限定在开头
常用字符
\d
代表digit, \D
代表非数字部分的内容
\w
代表数字或者字母或者下划线
\s
代表空白字符
位置匹配
^
代表开头
$
代表结尾
\b
代表边界border, \B
代表不是边界
量词
?
代表可能出现一次, 也可能不出现
+
代表出现至少一次
*
代表任意多次
{}
代表精确的出现次数的匹配
{3}
代表出现了三次
{3,}
代表了出现了至少三次
- 使用
?
跟在花括号后面, 代表不要贪婪匹配
分组(整体化)
使用 ()
打包处理, 比如 (at){2}
代表atat
捕获分组
通过使用 ()
创建的不同分组实现针对具体内容的提取
在编程的时候, 设置自己需要提取的分组可以提升开发的效率
非捕获分组
使用 (?: )
来定义一个不被捕获的分组, 在需要使用分组但是不想捕获的时候有用
引用分组
使用 \1
来引用第一个可以被捕获的分组
前瞻
使用分组的时候, 使用 (?= )
表示分组内部的内容不会在最后被匹配到的内容里面
使用
(?! )
对条件取反!
后顾
使用 (?<= )
可以检查后面的内容
TIP
\
作为转义字符
|
代表或者字符
默认是贪婪匹配
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)