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


How to make preg_match to find whole word but not separate hyphen-words?

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

此代码查找整个单词,但如果它们是连字符单词,如"ABLE- bodily",它将分别查找ABLE和bodily。如何修改表达式以适应破折号?

可以使用向后看和向前看操作符。

例如,使用'b(?<!-)xyz(?!-)'b查找xyz之前或之后没有-的完整单词