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' #使用扩展正则表达式,匹配整个字符串

猜你喜欢

转载自www.cnblogs.com/jmliao/p/11506356.html