У меня есть строка:
var str = `<ul class = "errorlist"><li>Enter a valid email address.</li></ul>`;
Из этой строки, как я могу извлечь подстроку:
'Enter a valid email address.'
в другую переменную?
@SouvikGhosh Ни в коем случае, не используйте регулярное выражение, чтобы пытаться анализировать HTML, когда доступны инструменты анализа HTML.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Если текст не заслуживает доверия, самый безопасный (и, вероятно, самый элегантный) вариант — использовать DOMParser, чтобы превратить текст в документ, а затем выбрать li в документе:
const str = `<ul class = "errorlist"><li>Enter a valid email address.</li></ul>`;
const doc = new DOMParser().parseFromString(str, 'text/html');
const a = doc.querySelector('li').textContent;
console.info(a);У вас может возникнуть соблазн использовать innerHTML только что созданного элемента:
const str = `<ul class = "errorlist"><li>Enter a valid email address.</li></ul>`;
const container = document.createElement('div');
container.innerHTML = str;
const a = container.querySelector('li').textContent;
console.info(a);Но это небезопасно, потому что могут выполняться error встроенные обработчики:
const str = `<ul class = "errorlist"><li><img src = "" onerror = "alert('evil')">Enter a valid email address.</li></ul>`;
const container = document.createElement('div');
container.innerHTML = str;
const a = container.querySelector('li').textContent;
console.info(a);DOMParser не имеет такой уязвимости — вы можете смело использовать его, даже когда входная строка не заслуживает доверия.
const str = `<ul class = "errorlist"><li><img src = "" onerror = "alert('evil')">Enter a valid email address.</li></ul>`;
const doc = new DOMParser().parseFromString(str, 'text/html');
const a = doc.querySelector('li').textContent;
console.info(a);
Это должно быть сделано с помощью манипуляций со строками или сопоставления шаблонов регулярных выражений. что ты уже испробовал?