Regex -sed的E标志

Regex -sed的E标志,regex,sed,Regex,Sed,我似乎记得sed的a-E标志启用了扩展正则表达式,但今天查看手册页时发现它不存在 echo development.properties | sed -E 's/(development.|staging.|qa.|production.)//' 性质 echo development.properties | sed 's/(development.|staging.|qa.|production.)//' echo development.properties | sed -r 's/(

我似乎记得sed的a-E标志启用了扩展正则表达式,但今天查看手册页时发现它不存在

echo development.properties | sed -E 's/(development.|staging.|qa.|production.)//'
性质

echo development.properties | sed 's/(development.|staging.|qa.|production.)//'
echo development.properties | sed -r 's/(development.|staging.|qa.|production.)//'
发展、财产

echo development.properties | sed 's/(development.|staging.|qa.|production.)//'
echo development.properties | sed -r 's/(development.|staging.|qa.|production.)//'
性质

echo development.properties | sed 's/(development.|staging.|qa.|production.)//'
echo development.properties | sed -r 's/(development.|staging.|qa.|production.)//'
所以在我看来,-E正在做一些事情,而且我敢说它现在是-r的别名,至少我认为-E是用来(扩展正则表达式)的。它在某个时候改变了吗?看起来它可能仍然支持向后兼容,还是不支持

而且,它听起来像sed中的扩展正则表达式,其范围类似于paren中的管道字符,那么为什么在没有这些标志(-E,-r)的情况下替换不能工作呢

  • -E
    是sed版本中
    -r
    的别名,即
    扩展正则表达式支持
  • 如果没有
    扩展正则表达式
    支持,
    方括号
    匹配为
    文字括号
    不用于正则表达式分组
  • -E
    是sed版本中
    -r
    的别名,即
    扩展正则表达式支持
  • 如果没有
    扩展正则表达式
    支持,
    方括号
    匹配为
    文字括号
    不用于正则表达式分组