4

简单的说:

echo "xxxxx Tyyy zzzzz" | egrep "\byyy\b" 

(没有匹配是正确的)

echo "xxxxx T-yyy zzzzz" | egrep "\byyy\b" 
xxxxx T-yyy zzzzz

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

4

1 回答 1

3

您可以使用:

echo "xxxxx T-yyy zzzzz" | egrep "(^|[^-])\byyy\b([^-]|$)"

Where(^|[^-])\byyy\b([^-]|$)将匹配 LHS 上的 start 或非连字符以及匹配 word 的 RHS 上的 end 或非连字符yyy

于 2015-09-03T16:03:46.703 回答