Показать сообщение отдельно
  #1 (permalink)  
Старый 19.06.2019, 15:53
Новичок на форуме
Отправить личное сообщение для Tachyon Посмотреть профиль Найти все сообщения от Tachyon
 
Регистрация: 19.06.2019
Сообщений: 8

Регулярное выражение с игнорированием символа в кавычках
Здравствуйте. Прошу помочь мне в составлении регулярного выражения (или сообщить, если решение этой задачи невозможно в рамках регулярных выражений JS).

Задача: нужно распарсить код, по структуре похожий на HTML. Пример:
<tag1 name1="value1" name2 = 'value2'>
< tag1 name1="value1"name2 = 'value2' >

Наличие и расположение пробелов может быть произвольным. Кавычки могут быть одинарными или двойными.

Требуется: выбрать весь тег, начиная с открывающего символа < и заканчивая закрывающим > включительно.

Задача осложняется тем, что значения, заключенные в кавычки, могут содержать символы < и >. Следовательно, выражение типа
/<\s*tag1([^>]*)>/gi

Не подходит.

Можно ли как-нибудь выбрать текст до первого не заключенного в кавычки (одинарные или двойные) символа > при помощи регулярного выражения, или нужно писать парсер с логическим анализом?

Последний раз редактировалось Tachyon, 19.06.2019 в 16:17.
Ответить с цитированием