Это соответствует «выражению»:

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

Ответы на вопрос(2)

Решение Вопроса
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* ноль или более символов «слово»

Смотрите руководство наescape-последовательности для PCRE.

* Примечание: хотя на самом деле это не «символ слова», подчеркивание_ также включен в класс персонажа\w.

 tintix18 янв. 2011 г., 09:53
Спасибо goreSplatter! Оно работает!
 Nadir03 окт. 2018 г., 11:56
будьте осторожны, потому что "+" считается границей слова в регулярном выражении PHP!
 Andrew17 дек. 2015 г., 21:38
\ b Граница слова, хорошо ... Почему я не видел это до сих пор? Полезно.
 OrPaz14 мар. 2012 г., 14:50
Это прекрасно. Как раз то, что я искал ... +1
 Linus Kleen04 окт. 2018 г., 09:38
@Nadir Хотите разработать? В регулярном выражении+ является«один или несколько символов», Снаружи действительно все, что не[a-z] считается границей слова. Но почему я должен остерегаться? Я не понимаю контекст.

Это соответствует «Выполнить»:

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

Это соответствует «выражению»:

\b(\w*express\w*)\b

Ваш ответ на вопрос