PHP preg_match找到整个单词

tin*_*tix 24 php preg-match

我对正则表达式很陌生.你能帮我创建一个匹配整个单词的模式,包含特定的部分吗?举例来说,如果我有一个文本字符串"执行正则表达式匹配",如果我搜索快车,它shuld给我表达,我如果搜索形式,它应该给我执行等.知道了吗?

Lin*_*een 42

preg_match('/\b(express\w+)\b/', $string, $matches); // matches expression
preg_match('/\b(\w*form\w*)\b/', $string, $matches); // matches perform,
                                                     // formation, unformatted
Run Code Online (Sandbox Code Playgroud)

哪里:

  • \b 是一个单词边界
  • \w+是一个或多个"单词"字符*
  • \w* 是零个或多个"单词"字符

请参阅PCRE的转义序列手册.


*注意:虽然不是真正的"单词字符",但下划线_也包含在字符类中\w.