Я новичок в регулярных выражениях. Не могли бы вы помочь мне создать шаблон, который соответствует целым словам, содержащим определенную часть? Например, если у меня есть текстовая строка "Выполнение соответствия регулярного выражения", и если я ищу экспресс, то shuld дает мне выражение, если я ищу form, он должен дать мне выполнить и так далее. Есть идея?
PHP preg_match, чтобы найти целые слова
Ответ 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*
- это ноль или более символов "word"
См. руководство по escape-последовательности для PCRE.
* Примечание: хотя это не символ слова, символ подчеркивания _
также включается в класс символов \w
.
Ответ 2
Это соответствует 'Perform':
\b(\w*form\w*)\b
Это соответствует выражению ':
\b(\w*express\w*)\b