Cuantificadores
Los cuantificadores indican el número de caracteres o expresiones que deben coincidir.
Pruébalo
Tipos
La siguiente tabla también está duplicada en esta hoja de referencia
. No olvides editarla también, ¡gracias!
Nota:
A continuación, elemento se refiere no solo a caracteres individuales, sino que también incluye clases de caracteres
, escapes de propiedades Unicode
, grupos y rangos
.
Caracteres | Significado |
---|---|
x* |
Concuerda 0 o más veces con el elemento "x" anterior. Por ejemplo, |
x+ |
Encuentra 1 o más veces el elemento "x" anterior Equivalente a |
x? |
Halla 0 o 1 vez el elemento "x" anterior. Por ejemplo, Si se usa inmediatamente después de cualquiera de los cuantificadores |
x{n} |
Donde "n" es un número entero positivo, concuerda exactamente con "n" apariciones del elemento "x" anterior. Por ejemplo, |
x{n,} |
Donde "n" es un número entero positivo, concuerda con al menos "n" apariciones del elemento "x". Por ejemplo, |
x{n,m} |
Donde "n" es 0 o un número entero positivo, "m" es un número entero positivo y |
|
De manera predeterminada, los cuantificadores como
|
Ejemplos
Patrón repetido
var palabraTerminadaConAes = /\w+a+\b/;
var mensajeDelicado = "Esto es Espartaaaaaaa";
console.table(mensajeDelicado.match(palabraTerminadaConAes)); // [ "Espartaaaaaaa" ]
Conteo de caracteres
var palabraDeUnaLetra = /\b\w\b/g;
var palabraNoTanLarga = /\b\w{1,6}\b/g;
var palabraLaaaaarga = /\b\w{10,}\b/g;
var frase =
"¿Por qué me tengo que sentar a estudiar las tablas de multiplicar?";
console.table(frase.match(palabraDeUnaLetra)); // ["a"]
console.table(frase.match(palabraNoTanLarga)); // ["Por", "qu", "me", "tengo", "que", "sentar", "a", "las", "tablas", "de"]
console.table(frase.match(palabraLaaaaarga)); // ["multiplicar"]
Caracter opcional
var londinText = "He asked his neighbour a favour.";
var yanquiText = "He asked his neighbor a favor.";
var regexpEnding = /\w+ou?r/g;
// \w+ Una o varias letras
// o seguida de una "o",
// u? opcionalmente seguida de una "u"
// r seguida de una "r"
console.table(londinText.match(regexpEnding));
// ["neighbour", "favour"]
console.table(yanquiText.match(regexpEnding));
// ["neighbor", "favor"]
Codicioso versus no codicioso
var texto = "Debo estar muy cerca del centro de la tierra.";
var regexpCodiciosa = /[\w ]+/;
// [\w ] una letra del alfabeto latino o un espacio en blanco
// + una o varias veces
console.log(texto.match(regexpCodiciosa)[0]);
// "Debo estar muy cerca del centro de la tierra."
// casi todo el texto coincide (omite el caracter de punto)
var regexpNoCodiciosa = /[\w ]+?/; // Observa el signo de interrogación
console.log(texto.match(regexpNoCodiciosa));
// "D"
// La coincidencia es la más pequeña posible
Especificaciones
No specification found
No specification data found for undefined
.
Check for problems with this page or contribute a missing spec_url
to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.
Compatibilidad del navegador
Para obtener información sobre la compatibilidad del navegador, consulta la tabla principal de compatibilidad de expresiones regulares
.