Получение всех подстрок из html шаблона
У меня есть какой-то html шаблон, в котором присутствуют некоторые теги, имеющие следующие контсрукции: <input placeholder="{{некоторый текст}}">, <p>{{некоторый текст}}</p> и т.д.
Я пытался в js находить такие результаты и получился такой код:
html = $('html').html();
var regExp = /\{([^)]+)\}/;
var matches = regExp.exec(html);
alert(matches[1])
Код неподходящий, т.к. берёт результаты только между одинарными фигурными скобками, а не между двойными. К тому же, он берёт всё, что находится между самой первой и самой последней скобкой в результате поиска, т.е. берёт лишние теги, текст и остальное. Какой нужен код, чтобы можно было достичь получение всех результатов в виде массива?
Ответы (1 шт):
Автор решения: XelaNimed
→ Ссылка
Используйте String.prototype.matchAll()
var str = "{{first}} {{second}} aaa {{third}} bbb";
var regex = new RegExp('\{\{[a-z]+\}\}', 'g');
var itt = str.matchAll(regex);
for(const match of itt){
console.log(match);
}