Задать вопрос
Chvanikoff
@Chvanikoff

Как исключить подгруппу из группы в регулярном выражении?

Есть строка:
<Н1 class="class1 class2">qweqweqwe</Н1>
и есть регулярка вида
(<Н1.*?>.*?</Н1>)
как ее изменить таким образом, чтобы в результате в группу попало только
<Н1>qweqweqwe</Н1>
То есть — выкинуть то, что будет «захвачено» первыми ".*?"

Важное доп. условие, из-за которого я не разбил группу на несколько: группа в итоге должна быть только одна — особенности архитектуры…
  • Вопрос задан
  • 7985 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 7
@himik
может я чего не понимаю ибо поздно, но <Н1.*?>(.*?)</Н1> заменять на <Н1>$1</Н1> не оно?
Ответ написан
Комментировать
elDraco
@elDraco
я думаю Вам нужно это (<Н1(?:.*?)>.*?</Н1>)
Ответ написан
Вы ведь получается ее и ищете, как ее исключишь?
Ответ написан
Evengard
@Evengard
А не легче уже вручную аппенднуть нужное?
Ответ написан
@YourChief
а почему бы вам не разбить выражение на три разные группы и вставлять первую и третью?
Ответ написан
@Genji
Из регулярки (<Н1).*?(>.*?Н1>) сформировать результат $1$2, если я правильно всё понял.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы