2

Имеется html. Из него нужно выдернуть текст, в котором могут быть совершенно разные символы, поэтому отталкиваться можно только от тегов. Справа от текста мы имеем только завершающие теги - данный вопрос решен с помощью "((<\/.*>[\r\n\s]*)+)$". Сам текст обозначил ".*". Слева от текста всегда будет ">". Вот тут возникла проблема - если использовать "(?<=>)" - то регуляркой находится первое вхождение и, естественное, выдается кривой результат. Интересует следующее: как можно обозначить "(?<=>)" так, что бы оно было последним вхождением. Или, возможно, есть какой-то другой вариант решения задачи.

Nicolas Chabanovsky
  • 51,426
  • 87
  • 267
  • 507
Redlust
  • 309

1 Answers1

1

1) Либо использовать нежадную проверку использование-жадных-greedy-и-супержадных-выражений

2) Либо для текста использовать [^>]

Что вам больше подойдет.

knes
  • 25,879