Получение всех подстрок из 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);
}

→ Ссылка