Symbol.matchAll - JavaScript | MDN (original) (raw)

Try it

const re = /\d+/g;
const str = "2016-01-02|2019-03-07";
const result = re[Symbol.matchAll](str);

console.log(Array.from(result, (x) => x[0]));
// Expected output: Array ["2016", "01", "02", "2019", "03", "07"]

Value

The well-known symbol Symbol.matchAll.

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(/\d+/g)) yield n[0];
  },
};

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

Specifications

Specification
ECMAScript® 2026 Language Specification # sec-symbol.matchall

Browser compatibility

See also