正则表达式元字符总结

匹配单个字符的元字符

        元字符                    匹配对象

.点号匹配单个任意字符
[...]字符组匹配单个列出的字符
[^...]排除型字符组匹配单个未列出的字符
\char转义字符若char是元字符,或转义字符无特殊含义时,匹配char对应的普通字符
提供计数功能的元字符
?问号容许匹配一次,但非必须
*星号可以匹配任务多次,也可能不匹配
+加号至少需要匹配一次,至多可能任意多次
{min,max}区间量词至少需要min次,至多容许max次
匹配位置的元字符
^脱字符匹配一行的开头位置
$美元符匹配一行的结束位置
\<单词边界符匹配单词的开始位置
\>单词边界符匹配单词的结束位置
其他元字符
|间隔符匹配任意分割的表达式
(...)括号限定多选结构的范围,标注量词作用的元素,为反向引用‘捕获’文本
\1,\2,...反向引用匹配之前的第一,第二组括号内的字表达式匹配的文本
并非所有版本的egrep都支持

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

此外,请务必理解一下几点:

  • 各个egrep程序是有差别的。它们支持的元字符,以及这些元字符的确切含义,通常都有差别——请参考相应的文档
  • 使用括号的3个理由:限制多选结构、分组和捕获文本
  • 字符组的特殊性在于,关于元字符的规定时完全独立于正则表达式语言“主体”的。
  • 多选结构和字符组是截然不同的,他们的功能完全不同,只是在有限的情况下,他们的表现相同
  • 排除型字符组同样是一种“肯定断言”——即使它的名字里包含了“排除”两个字,他仍然需要匹配一个字符。只是因为列出的字符都会被排除,所以最终匹配的字符肯定不在列出的字符之内。
  • 由星号和问号限定的对象在“匹配成功”时可能并没有匹配任意字符。即使什么字符都不能匹配到,他们仍然会报告“匹配成功”
  • -i 的参数很有用,他能进行忽略大小写的匹配
  • 转义有3中情况:

  1、'\' 加上元字符,表示匹配元字符所使用的普通字符

  2、‘\’ 加上非元字符,组成一种由具体实现规定其意义的元字符序列

  3、‘\’ 加上任意其他字符,默认情况就是匹配此字符

  对于大多数版本的egrep来说,字符组内部的反斜线没有任何特殊意义,所以此时他不是一个转义字符

 

转载于:https://www.cnblogs.com/Alvinyk/p/8266802.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值