Я пытаюсь сопоставить любые элементы в квадратных скобках внутри тегов <sup>
.
Мое регулярное выражение слишком жадное, начиная с первого тега <sup>
и заканчивая последним тегом </sup>
.
/<sup\b[^>]*>(.*?)\[(.*?)\](.*?)<\/sup>/
Пример html:
<sup>[this should be gone]</sup>
<sup>but this should stay</sup>
<sup>this should [ also stay</sup>
[and this as well]
<sup><a href="#">[but this should definitely go]</a></sup>
Есть идеи почему?
Спасибо!
РЕДАКТИРОВАТЬ: Я полагаю, что эти ответы имеют смысл.Я проанализировал большую часть HTML без регулярных выражений;Я просто подумал, что этот конкретный пример будет работать с регулярным выражением, потому что он будет делать следующее:
- см. Первый тег
<sup>
- найти первый экземпляр
</sup>
- поиск внутри (wild) (скобка) (wild) (закрывающая скобка) (wild)