表3.3 扩展集(用于egrep和grep-E)
元字符 | 功能 | 例子 | 匹配什么 |
+ | 匹配一个或者多个先前字符 | [a-z]+ove | 匹配一个小写字符且后面是ove的,可以找到move、appove、behoove等 |
? | 匹配0个或者多个先前字符 | lo?ve | 匹配l后在有一个或者没有o,然后是ve |
a|b|c | 匹配a或b或c | love|hate | 匹配love或hate其中一个 |
() | 字符组 | love(able|rs)(ov)+ | 匹配loveable或lovers,匹配一个或多个ov |
(..)(...)\1\2a | 标记匹配字符串 | \(love\)ing | 标签标记出寄存器的一部分,并销后替换模板。该模板叫作\l,并可反复引用。在表达式中最多可以使用9个这样的标签。例如,模板love被保存在寄存器1中并稍后替换标签叫作\l |
x{m} x{m,} x{m,n}b | 重复字符X,m次,至少m次,或者m次和n次之间 | o\{5\} o\{5,\} o\{5,10\} | 匹配5个o,或至少5个o,或5~10个o |
a.标签和反向参考功能在UNIX的egrep下都不能使用。
b.该元字符不能被所有版本的UNIX和模板匹配实用程序支持,它们通常在vi或者grep下工作。它们根本一能在UNIX的egrep下工作。
转载于:https://blog.51cto.com/huyanshu/910000