标签: php regex preg-match text-parsing hyphen
if (preg_match('#\b'.$rawword.'\b#i',$body)) {
此代码查找整个单词,但如果它们是像“ABLE-BODIED”这样的连字符,它将分别找到ABLE和BODIED。如何修改表达式以适应破折号?
答案 0 :(得分:3)
您可以使用lookbehind和lookahead运算符。这些操作符在后面和后面查看,但不匹配它们。
例如,使用\b(?<!-)xyz(?!-)\b查找之前或之后没有xyz的{{1}}的整个单词。
\b(?<!-)xyz(?!-)\b
xyz