Сцепить регулярные выражения

  • Автор темы Автор темы Do1phin
  • Дата начала Дата начала

Do1phin

Client
Регистрация
10.07.2015
Сообщения
16
Реакции
0
Баллы
3
Ребята, подскажите пожалуйста, как сцепить несколько регулярных выражений и в полученном результате поставить разделители?

Имеется регулярка:
Код:
Развернуть Свернуть Копировать
((?<=<a\ href="/advertiser_new/campaigns/teasers/id=).*?(?=")|(?<="\ class="c-black">).*?(?=</a>)|(?<=w40p">)[\w\W]*?(?=<br>)|(?<=<span\ class="price">).*?(?=</span>)|(?<=</span>\ руб\.)[\w\W]*?(?=]))

состоящая из нескольких мелких регулярок:

Код:
Развернуть Свернуть Копировать
(?<=<a\ href="/advertiser_new/campaigns/teasers/id=).*?(?=")
(?<="\ class="c-black">).*?(?=</a>)
(?<=w40p">)[\w\W]*?(?=<br>)
(?<=<span\ class="price">).*?(?=</span>)
(?<=</span>\ руб\.)[\w\W]*?(?=])


Выше у меня перечислены регулярки через "|" - ИЛИ. А мне надо как-то перечислить их через И.
Чтобы полученный на выходе результат записывался так:

Код:
Развернуть Свернуть Копировать
результат_регулярки1;результат_регулярки2;результат_регулярки3;результат_регулярки4;результат_регулярки5
 
Здесь архитектурная ошибка. После парсинга данных каждой регуляркой нужно их сохранять как пожелаете. Лепить всё в одно - текущими кубиками это создаст больше проблем чем профита, так как нет возможности сейчас получать несколько результатов от одного найденного совпадения.

Сделайте 1 шаг = 1 регулярное выражение, в переменную положите результат, далее сохраняйте как вам удобно.
 
Можно данной регуляркой получать все совпадения в список, а далее объеденить элементы списка через ;
 
Можно данной регуляркой получать все совпадения в список, а далее объеденить элементы списка через ;
Если ТС ищет больше 1-го блока то начинаются проблемы, особенно если в блоке некоторых совпадений не оказывается.

PS: Иногда мне кажется что все одинакового думают, по крайней мере на этом форуме)
 
Если ТС ищет больше 1-го блока то начинаются проблемы, особенно если в блоке некоторых совпадений не оказывается.

PS: Иногда мне кажется что все одинакового думают, по крайней мере на этом форуме)

Да, с таким решением могут быть разные проблемы. Но если ему просто нужно объединить всё, что найдёт эта регулярка, то подойдёт такое решение.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)