Подтвердить что ты не робот

PHP preg_match, чтобы найти целые слова

Я новичок в регулярных выражениях. Не могли бы вы помочь мне создать шаблон, который соответствует целым словам, содержащим определенную часть? Например, если у меня есть текстовая строка "Выполнение соответствия регулярного выражения", и если я ищу экспресс, то shuld дает мне выражение, если я ищу form, он должен дать мне выполнить и так далее. Есть идея?

4b9b3361

Ответ 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