Помогите с регуляркой!

программирование php perl регулярные выражения

Не совсем понимаю что эта штука выбирает:
(\w+\W*){0,2}(\b\w*('.str_replace(' ','|',$q).')\w*\b)(\W*\w+){0,2}
Желательно пример к-ый подходит под этот шаблон!

Примечание:
шаблон находится в коде, к-ый я пытаюсь понять, вот полная строка $pat = '(\w+\W*){0,2}(\b\w*('.str_replace(' ','|',$q).')\w*\b)(\W*\w+){0,2}';

Примечание:
str_replace(' ','|',$q) это функция замены, в принципе что здесь будет я разобрался

Примечание:
я понял что он собирается, что значат регулярки по бокам:) ?
Ответы:
Больше похоже на то, что Вы неправильно скопировали шаблон. Если это не так, то вот строка, которая подходит под этот шаблон:
a'astr_replace' ','a'a
Шаблон собирается из трёх кусков:
'(\w+\W*){0,2}(\b\w*('     str_replace(' ','|',$q)     ')\w*\b)(\W*\w+){0,2}'
и соответствует любому слову содержащиму одну из, разделённых пробелами, строк из переменной $q, плюс по два слова с каждой стороны.
(\w+\W*){0,2} — два слова до
\b\w* — начало слова
\w*\b — конец слова
(\W*\w+){0,2} — два слова после


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.