Baseline Widely available
El sÃmbolo conocido como Symbol.matchAll
devuelve un iterador, que devuelve las coincidencias de la expresión regular con una cadena. Esta función es llamada por el método String.prototype.matchAll()
.
const re = /[0-9]+/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"]
Descripción
Este Symbol se utiliza para String.prototype.matchAll()
y especÃficamente en RegExp.prototype[@@matchAll]()
. Los dos ejemplos siguientes devuelven el mismo resultado:
"abc".matchAll(/a/);
/a/[Symbol.matchAll]("abc");
Este método existe para personalizar el comportamiento de las coincidencias dentro de las subclases RegExp
.
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)));
// Array ["2016", "01", "02", "2019", "03", "07"]
Ver String.prototype.matchAll()
y RegExp.prototype[@@matchAll]()
para más ejemplos.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4