shell中正则表达式的扩展
awk,perl等还支持正则表达式扩展出来的一些元字符
1.?
符号
?
匹配?符号之前的那个字符0次或1次
IN?T 表示匹配N字符0次或1次,即INT或INNT
注意:?
最多只能匹配1个字符
2.+
符号
+
与*
类似,都是匹配其前面的那个字符多次
但*符号可以匹配0次,而+符号至少匹配1次
IN+T 表示匹配N1次或者任意多次,INNT INNNNNT等都可以由IN+T匹配,而INT不能由IN+T匹配
3.()
符号和|
符号
()
符号通常与|
结合使用,表示一组可选字符的集合
re(a|o|e)d 其中的(a|o|e)表示在a e o中任意选择一个字符,即read、reed、reod都可以由它匹配
而()
其实就等价与[]
re[aeo]d
|
符号也可以表示多个正则表达式的“或”关系,基本格式为:
RE1 | RE2 | RE3 |... REn表示正则表达式