1

我想将字符串匹配为一个完整的单词匹配"~\b$search\b~i",它匹配'35'到'35-40'。我只希望空格作为单词之间的分隔符。

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

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

感谢您的回答

4

1 回答 1

1

您可以使用环视断言而不是单词边界断言:

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

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

于 2013-06-09T12:48:21.057 回答