Symbol.matchAll - JavaScript | MDN
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
js
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® 2027 Language Specification # sec-symbol.matchall |