Имеется html. Из него нужно выдернуть текст, в котором могут быть совершенно разные символы, поэтому отталкиваться можно только от тегов. Справа от текста мы имеем только завершающие теги - данный вопрос решен с помощью "((<\/.*>[\r\n\s]*)+)$". Сам текст обозначил ".*". Слева от текста всегда будет ">". Вот тут возникла проблема - если использовать "(?<=>)" - то регуляркой находится первое вхождение и, естественное, выдается кривой результат. Интересует следующее: как можно обозначить "(?<=>)" так, что бы оно было последним вхождением. Или, возможно, есть какой-то другой вариант решения задачи.
Asked
Active
Viewed 395 times
2
Nicolas Chabanovsky
- 51,426
- 87
- 267
- 507
Redlust
- 309
1 Answers
1
1) Либо использовать нежадную проверку использование-жадных-greedy-и-супержадных-выражений
2) Либо для текста использовать [^>]
Что вам больше подойдет.
knes
- 25,879