版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiao3404/article/details/85148125
扩展正则表达式是在基本正则表达式中扩展出来的,内容不是很多,使用频率上可能没有基本正则表达式那么高, 但是扩展正则依然很重要,很多情况下没有扩展正则是搞不定的。
sed命令使用扩展正则需要加上选项-r 或-E
。
如果使用了以下几个正则表达式符合,没有加上-E 或者 -r
会导致匹配失败 或者增加\
转义。
本人建议增加选项-r 或-E
,这样比较容易理解,常见的扩展正则表达式如下:
-
符号"?"
“?”:表示前置字符有0个或1个。 -
符号"+"
“+”:表示前置字符有1个或多个。 -
符号"|"
“|”:表示指明两项之间的一个选择。
abc|ABC:表示可以匹配abc或者ABC。 -
符号"()"
"()“表示分组,类似算数表达式中的()。子命令表达式中可以通过\1,\2,\3等来表示分组匹配到的内容。其实”()"也可以在基本正则表达式中使用的。
(a|b)b:表示可以匹配ab或者bb字串
([0-9])|([0][0-9])|([1][0-9]):表示匹配0-9或者00-09或者10-19范围的字符。 -
符号"{}"
这里的"{}“和基本正则表达式中的大括号意义是一样的,只不过在使用时不用加”"转义符号。