Symbol.matchAll

The Symbol.matchAll well-known symbol specifies the method that returns an iterator, that yields matches of the regular expression against a string. This function is called by the String.prototype.matchAll() method.

For more information, see RegExp.prototype[@@matchAll]() and String.prototype.matchAll().

Try it

Property attributes of Symbol.matchAll
Writable no
Enumerable no
Configurable no

Examples

Using Symbol.matchAll

const 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)));
// ["2016", "01", "02", "2019", "03", "07"]

Specifications

Specification
ECMAScript Language Specification
# sec-symbol.matchall

Browser compatibility

BCD tables only load in the browser

See also