【正则表达式】 正则表达式的元字符是什么?正则表达式的元字符有什么作用?
🌈 个人主页:(时光煮雨)
🔥 高质量专栏:vulnhub靶机渗透测试
👈 希望得到您的订阅和支持~
💡 创作高质量博文(平均质量分95+),分享更多关于网络安全、Python领域的优质内容!(希望得到您的关注~)
🌵目录🌵
- 前言
- 🍅一、基本元字符
- 🍍二、字符类元字符
- 🍏三、量词元字符
- 🥭四、分组和选择元字符
- 🍊五、特殊字符类元字符
- 🍏六、边界匹配元字符
- 🥕七、其他元字符
- 🌽八、贪婪与非贪婪量词
- 🌽九、正向和负向预查
- 🥦十、实例
- 🤝 期待与你共同进步
- 📚 参考文档
前言
正则表达式中的元字符是具有特殊含义的字符,它们不表示字面意义,而是用于控制匹配模式。
🍅一、基本元字符
-
. (点号)
- 匹配除换行符(\n)外的任意单个字符
- 示例:a.b 匹配 “aab”, “a1b”, “a b” 等
-
^ (脱字符)
- 匹配字符串的开始位置
- 示例:^abc 匹配以 “abc” 开头的字符串
-
$ (美元符)
- 匹配字符串的结束位置
- 示例:xyz$ 匹配以 “xyz” 结尾的字符串
-
\ (反斜杠)
- 转义字符,使后面的字符失去特殊含义
- 示例:. 匹配实际的点号而不是任意字符
🍍二、字符类元字符
-
[] (方括号)
- 定义字符集合,匹配其中任意一个字符
- 示例:[aeiou] 匹配任意一个元音字母
-
[^] (否定字符类)
- 匹配不在方括号中的任意字符
- 示例:[^0-9] 匹配任意非数字字符
-
-(连字符)
- 在字符类中表示范围
- 示例:[a-z] 匹配任意小写字母
🍏三、量词元字符
-
* (星号)
- 匹配前面的子表达式零次或多次
- 示例:ab*c 匹配 “ac”, “abc”, “abbc” 等
-
+ (加号)
- 匹配前面的子表达式一次或多次
- 示例:ab+c 匹配 “abc”, “abbc” 但不匹配 “ac”
-
? (问号)
- 匹配前面的子表达式零次或一次
- 示例:colou?r 匹配 “color” 和 “colour”
-
{n} (花括号)
- 精确匹配n次
- 示例:a{3} 匹配 “aaa”
-
{n,}
- 至少匹配n次
- 示例:a{2,} 匹配 “aa”, “aaa” 等
-
{n,m}
- 匹配n到m次
- 示例:a{2,4} 匹配 “aa”, “aaa”, “aaaa”
🥭四、分组和选择元字符
-
() (圆括号)
- 定义子表达式或捕获组
- 示例:(ab)+ 匹配 “ab”, “abab” 等
-
| (竖线)
- 表示"或"关系
- 示例:cat|dog 匹配 “cat” 或 “dog”
🍊五、特殊字符类元字符
字符 | 描述 |
---|---|
\d | 匹配任意数字,等价于 |