一尘不染

PHP preg_match查找整个单词

php

我对正则表达式很陌生。您能帮我创建一个匹配整个单词,包含特定部分的模式吗?例如,如果我有一个文本字符串“执行正则表达式匹配”,并且如果我搜索
express ,它将给我 expression ;如果我搜索 form ,它将给我 Perform 等。有这个主意吗?


阅读 565

收藏
2020-05-29

共1个答案

一尘不染

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

哪里:

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

有关PCRE的信息,请参见有关转义序列的手册。


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

2020-05-29