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
.
左轴上的开始或非连字符以及右轴上的结束或非连字符
简单地说:
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
.