Shell基本正则表达式和扩展正则表达式
BRE和ERE的区别
基本正则表达式(BRE)和扩展正则表达式(ERE)的区别仅仅是元字符(meta charactor)的区别
而已。
-
BRE: 只有^$.*[]是元字符
-
ERE: ^$.[]*+(){}?|都是元字符
BRE和ERE的元字符
参考:Shell正则表达式
示例
$echo "abcdefg" | grep 'a.+g' #不匹配任何字符串
$echo "abcdefg" | grep 'a.\+g' #匹配整个字符串
$echo "abcdefg" | grep -E 'a.+g' #使用扩展正则表达式,匹配整个字符串