Показать сообщение отдельно
  #4 (permalink)  
Старый 19.06.2019, 21:17
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

Представленные варианты ошибочно срабатывают на
str = `<tag2 c="" d=">`;

и, что самое грустное, безбожно зависают на длинном незакрытом теге
str = `<tag1 b=""b=""b=""b=""b=""b=""b=""b=""b=""b=""b=""b=""b=""b=""b=""b=""b=""b=""b=""`;


Вот такое вроде бы нигде не косячит:
let str = `<tag1 name1="<value1's>" name2 = 'value>>>>><<<2'>
 < tag1 name1="value1"name2 = 'value2<<>>>' >`;

let reg = /<\s*\w+(?:"[^"]*"|'[^']*'|[^>"'])*>/gi;

console.log(str.match(reg));

Последний раз редактировалось Alexandroppolus, 20.06.2019 в 07:22.
Ответить с цитированием