Hyphen/Dash 包含在正则表达式单词边界 \b

Hyphen/Dash to be included in regex word boundary \b

简单地说:

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

(没有匹配正确的)

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

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

您可以使用:

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

其中 (^|[^-])\byyy\b([^-]|$) 将匹配匹配词 yyy.

左轴上的开始或非连字符以及右轴上的结束或非连字符