Здравствуйте. Прошу помочь мне в составлении регулярного выражения (или сообщить, если решение этой задачи невозможно в рамках регулярных выражений JS).
Задача: нужно распарсить код, по структуре похожий на HTML. Пример:
<tag1 name1="value1" name2 = 'value2'>
< tag1 name1="value1"name2 = 'value2' >
Наличие и расположение пробелов может быть произвольным. Кавычки могут быть одинарными или двойными.
Требуется: выбрать весь тег, начиная с открывающего символа < и заканчивая закрывающим > включительно.
Задача осложняется тем, что значения, заключенные в кавычки, могут содержать символы < и >. Следовательно, выражение типа
/<\s*tag1([^>]*)>/gi
Не подходит.
Можно ли как-нибудь выбрать текст до первого не заключенного в кавычки (одинарные или двойные) символа > при помощи регулярного выражения, или нужно писать парсер с логическим анализом?