正则表达式基础
🔺行的起始位置和结束位置^和$
🔺字符组:[esd]
匹配若干字符之一。
字符组[ea]表示匹配e或a
字符组内部(不在边界)
连字符“ -”属于元字符,
问号,点号不是元字符(字符组外是元字符)
🔺排除型字符组 [^...]
[^1-6] 匹配除了1到6以外的任何字符
脱字符在字符组内部且是 [ 之后
是元字符,排除之意。必须匹配一个字符 注意行尾细节
🔺点号匹配任意字符:. 在字符组中不是元字符
🔺多选结构 |
gr[ae]y 等于 grey|gray 等于gr(a|e)y
在字符组中不是元字符。可以匹配任意长度的文本。字符组只能匹配单个字符
匹配任意子表达式 “|”
🔺忽略大小写 -i
-i 该功能并不是正则表达式的一部分,把-i写在正则表达式之前。
🔺单词分界符 \< 和 \>
\< 和 \> 相当于^ 和 &,不对应任何字符,只是匹配位置。
有的egrep版本不支持 “元字符序列”
🔺可选项元素
?加在一个字符后面,就表示此字符容许出现,只作用于之前紧邻的元素(子表达式)。
🔺其他量词:重复出现
?+ *问号,加号,星号这三个元字符,统称为量词,因为他们限定了所作用元素的匹配次数。
+ 前边紧邻的元素出现一次或多次(可理解为正数,不能是0 0不是正数)
* 前边紧邻的元素出现任意多次,或不出现。
?和*永远不会匹配失败。
+无法匹配时会失败。
🔺阅读正则表达式时,空格符也是普通字符之一。
🔺规定重复出现次数的范围:区间 {1,5}
🔺括号及反向引用:
\1,\2,\3分别表示第一、第二、第三组括号匹配的文本。
🔺转义字符 \ 加 元字符,元字符变为普通字符。
大多数程序设计语言和工具都支持字符组内部的转义,但是大多数egrep版本不支持。
🔺子表达式(subexpression)
通常是括号内的表达式,或者是由「|」分隔的多选分支。
括号限制多选结构(不能超过括号的界限)
🔺括号:限制多选结构,分组和捕获文本。
schafkopf纸牌游戏。
真正的乐趣并不会在第一次体会到,学习的曲线很陡峭。
🔺非捕获型括号(?:……)
表示之分组,不捕获,即\1,\2,\3不捕获 这种。
🔺用\s匹配所有“空白” 注意s是小写的。
表示所有空白字符:空格符,制表符,换行符,回车符。
\s,与\S “空白”字符(空格符,制表符,进纸符)\S匹配除\s之外的任何字符
\w与\W [a-zA-Z0-9] \W匹配除\w之外的任何字符即[^a-zA-Z0-9]
\d与\D [0-9] 匹配数字,\D匹配非数字即[^0-9]
大小写相反的关系。
🔺环视结构:肯定和否定。
本文作者:好Wu赖
本文链接:https://www.cnblogs.com/erlongxizhu-03/p/10399459.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现