PCRE全字匹配(仅允许空格作为分隔符)

时间:2013-06-09 12:44:19

标签: php preg-match pcre

我希望将字符串匹配为整个单词匹配"~\b$search\b~i",它匹配' 35'至' 35-40'我希望只有空格才能在单词之间分隔。

测试用例: 在下列情况下匹配35:

  • 35-40 =>假
  • 3-5 =>假
  • 335 =>假
  • 350 =>假
  • 35 =>真

感谢您的回答

1 个答案:

答案 0 :(得分:1)

您可以使用look-around assertions代替字边界断言:

~(?<!\S)$search(?!\S)~i

这里(?<!\S)断言前面没有非空格字符(\S),而(?!\S)断言$search后面没有非空白字符。