我在为sed
.
我用各种在线服务测试了这个表达,在那里,它确实成功了。
但sed
不幸的是,情况并非如此。
这是我的测试sed
表达式:
echo "Windows" | sed -e 's/[Ww][Ii][Nn]([Dd][Oo][Ww][Ss])?/MATCH/g;'
它应该匹配“Win”或“Windows”(当然还有“WIN”和“windOwS”等等)。但事实并非如此!(至少没有sed
)。问题是,我不能将字符串的第二部分设为可选。在线 RegEx 测试人员按预期工作,但我需要它在命令行上工作。
我知道有很多 RegEx 风格。所以很可能,我不匹配正确的那个。
有人可以帮助我吗?
您的表达式将用作扩展的正则表达式。使用
sed -E
:使用 GNU ,如果我转义,我可以在没有(即使用基本正则表达式时)
sed
获得相同的效果,并且:-E
sed
(
)
?