PHP正则表达式只匹配整个单词,而不是将破折号统计为整个单词

时间:2015-04-15 18:35:39

标签: php regex

/\b(test1|test2|test3)\b/i匹配整个单词很容易,当它连接成单词时,它也会匹配它们。

我想要匹配:

foo test1 bar

但这些不是:

foo-test1-bar
foo-test2 bar
foo test3-bar

1 个答案:

答案 0 :(得分:2)

您可以使用外观来防止匹配带连字符的单词:

/(?<!-)\b(test1|test2|test3)\b(?!-)/i

RegEx Demo