如何使preg_match找到整个单词而不是单独的连字符?

时间:2011-04-25 18:04:44

标签: php regex preg-match text-parsing hyphen

if (preg_match('#\b'.$rawword.'\b#i',$body)) {   

此代码查找整个单词,但如果它们是像“ABLE-BODIED”这样的连字符,它将分别找到ABLE和BODIED。如何修改表达式以适应破折号?

1 个答案:

答案 0 :(得分:3)

您可以使用lookbehind和lookahead运算符。这些操作符在后面和后面查看,但不匹配它们。

例如,使用\b(?<!-)xyz(?!-)\b查找之前或之后没有xyz的{​​{1}}的整个单词。