从部分单词搜索字符串中匹配整个单词

问题描述 投票:0回答:2

你能帮我创建一个匹配整个单词并包含特定部分的模式吗?例如,如果我有一个文本字符串

Perform a regular expression match
,如果我搜索
express
,它应该给我
expression
,如果我搜索
form
,它应该给我
Perform
,依此类推。

php preg-match cpu-word
2个回答
48
投票
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
中。


4
投票

这与“执行”匹配:

\b(\w*form\w*)\b

这与“表达式”匹配:

\b(\w*express\w*)\b
© www.soinside.com 2019 - 2024. All rights reserved.