简单来说:
echo "xxxxx Tyyy zzzzz" | egrep "\byyy\b"
(没有匹配项是正确的)
echo "xxxxx T-yyy zzzzz" | egrep "\byyy\b"
xxxxx T-yyy zzzzz
我不希望它像第二个表达式那样匹配,请告诉我如何实现这一点,谢谢。
简单来说:
echo "xxxxx Tyyy zzzzz" | egrep "\byyy\b"
(没有匹配项是正确的)
echo "xxxxx T-yyy zzzzz" | egrep "\byyy\b"
xxxxx T-yyy zzzzz
您可以使用:
echo "xxxxx T-yyy zzzzz" | grep -E "(^|[^-])\byyy\b([^-]|$)"
(^|[^-])\byyy\b([^-]|$)
将匹配左侧的开始或非连字符并匹配的单词yyy
的右侧的结束或非连字符。