Cuantificadores
Los cuantificadores indican el número de caracteres o expresiones que deben coincidir.
Pruébalo
const ghostSpeak = "booh boooooooh"; const regexpSpooky = /bo{3,}h/; console.log(ghostSpeak.match(regexpSpooky)); // Expected output: Array ["boooooooh"] const modifiedQuote = "[He] ha[s] to go read this novel [Alice in Wonderland]."; const regexpModifications = /\[.*?\]/g; console.log(modifiedQuote.match(regexpModifications)); // Expected output: Array ["[He]", "[s]", "[Alice in Wonderland]"] const regexpTooGreedy = /\[.*\]/g; console.log(modifiedQuote.match(regexpTooGreedy)); // Expected output: Array ["[He] ha[s] to go read this novel [Alice in Wonderland]"]
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
.