Как выставить приоритет в группе захвата вида (text1|text2)?
Задача следующая:
Если в регулярном выражении (text1|text2), было совпадение с text1, то совпадения с text2 не проверялись.
Но если text1 не найден, то искались совпадения с text2. Как я понял, нужно выставить некий приоритет или что-то вроде того.
Дело в том, что в нескольких кусках текста, поиск в которых я выполняю, могут быть ситуации когда есть только text2, а могут быть - когда есть и text1 и text2 (причём они идут подряд, text2 после text1).
Там в результаты попадает что-то лишнее? Не совсем понятно.
Возможно что-то такое https://regex101.com/r/465BqG/1
Покажите пару реальных примеров текстов и регулярки.
У меня идёт парсинг страниц, на которых может быть "Тест", а может и не быть. Только почему-то, всегда захватывается весь текст между <div class="content"> и <div class="ratings" (то есть всегда из тех двух вариантов выбирается второй). Я пробовал использовать только <h2(.*)>Тест</h2> и получал результат, но страницы на которых не было "Теста" отсеивались.
Я в регулярках новичок, поэтому может быть, делаю здесь какую-то грубую ошибку.
klajowski, забыл написать что символ . в регулярке означает вообще любой символ (даже переход на новую строку), то есть поиск происходит в многострочном режиме.