--- title: Symbol.matchAll slug: Web/JavaScript/Reference/Global_Objects/Symbol/matchAll tags: - JavaScript - Symbol - Властивість - Довідка - Символ translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/matchAll ---
{{JSRef}}

Добревідомий символ Symbol.matchAll повертає ітератор, який видає збіги регулярного виразу з рядком. Ця функція викликається методом {{jsxref("String.prototype.matchAll()")}}.

{{EmbedInteractiveExample("pages/js/symbol-matchall.html","shorter")}}

Опис

Цей символ використовується для {{jsxref("String.prototype.matchAll()")}} та зокрема у {{jsxref("RegExp.@@matchAll", "RegExp.prototype[@@matchAll]()")}}. Наступні два приклади повертають однаковий результат:

'абв'.matchAll(/а/);

/а/[Symbol.matchAll]('абв');

Цей метод існує для налаштування поведінки пошуку збігів всередині підкласів {{jsxref("RegExp")}}.

{{js_property_attributes(0,0,0)}}

Приклади

Використання Symbol.matchAll

let re = /[0-9]+/g;
let str = '2016-01-02|2019-03-07';

const numbers = {
  *[Symbol.matchAll] (str) {
    for (const n of str.matchAll(/[0-9]+/g))
      yield n[0];
  }
};

console.log(Array.from(str.matchAll(numbers)));
//  Array ["2016", "01", "02", "2019", "03", "07"]

Дивіться більше прикладів у {{jsxref("String.prototype.matchAll()")}} та {{jsxref("RegExp.@@matchAll", "RegExp.prototype[@@matchAll]()")}}.

Специфікації

Специфікація
{{SpecName('ESDraft', '#sec-symbol.matchall', 'Symbol.matchAll')}}

Сумісність з веб-переглядачами

{{Compat("javascript.builtins.Symbol.matchAll")}}

Див. також