Symbol.matchAll
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.
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()
.
Pruébalo
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
.
Atributos de la propiedad Symbol.matchAll | |
---|---|
Sobrescribir | No |
Numerable | No |
Configurable | No |
Ejemplos
Usando 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)));
// Array ["2016", "01", "02", "2019", "03", "07"]
Ver String.prototype.matchAll()
y RegExp.prototype[@@matchAll]()
para más ejemplos.
Especificaciones
Specification |
---|
ECMAScript Language Specification # sec-symbol.matchall |
Compatibilidad con navegadores
BCD tables only load in the browser