连字符/破折号将包含在正则表达式单词边界中



简写为:

echo "xxxxx Tyyy zzzzz" | egrep "byyyb" 

(没有匹配是正确的)

echo "xxxxx T-yyy zzzzz" | egrep "byyyb" 
xxxxx T-yyy zzzzz

我不希望它匹配像它在第二个表达式,请告诉我如何才能实现这一点,谢谢。

您可以使用:

echo "xxxxx T-yyy zzzzz" | grep -E "(^|[^-])byyyb([^-]|$)"

其中(^|[^-])byyyb([^-]|$)将匹配匹配词yyy的LHS上的起始或非连字符和RHS上的结束或非连字符。

相关内容

  • 没有找到相关文章

最新更新