Las expresiones regulares (regex o regexp) son patrones utilizados para encontrar y manipular texto. En JavaScript, puedes usar expresiones regulares para buscar, reemplazar y validar cadenas de texto. Vamos a explorar cómo trabajar con expresiones regulares en JavaScript.
Creación de una Expresión Regular
Puedes crear una expresión regular usando el constructor `RegExp` o utilizando la notación literal `/patrón/`.
const expresion1 = new RegExp('patrón');
const expresion2 = /patrón/;
Búsqueda de Patrones
Puedes usar expresiones regulares para buscar patrones en una cadena de texto usando los métodos `test()` y `exec()`.
const expresion = /patrón/;
const texto = 'Este es un texto con el patrón a buscar.';
console.log(expresion.test(texto)); // Devuelve true si encuentra el patrón
console.log(expresion.exec(texto)); // Devuelve información sobre la coincidencia
Modificadores
Los modificadores son letras que siguen a la expresión regular y afectan su comportamiento.
i : Realiza una búsqueda sin distinguir mayúsculas y minúsculas.
g : Realiza una búsqueda global, encuentra todas las ocurrencias.
m : Realiza una búsqueda multilinea.
const expresion = /patrón/i; // Búsqueda sin distinguir mayúsculas y minúsculas
const expresionGlobal = /patrón/g; // Búsqueda global
const expresionMultilinea = /patrón/m; // Búsqueda multilinea
Caracteres Especiales
Algunos caracteres tienen un significado especial en las expresiones regulares.
. : Coincide con cualquier caracter excepto una nueva línea.
^ : Coincide con el inicio de una cadena.
$ : Coincide con el final de una cadena.
const expresion = /^patrón$/; // Coincide con una cadena que tenga solo 'patrón'
Clases de Caracteres
Las clases de caracteres permiten especificar un conjunto de caracteres válidos.
[ ]: Coincide con cualquier caracter dentro de los corchetes.
[^ ]: Coincide con cualquier caracter que no esté dentro de los corchetes.
const expresion = /[aeiou]/; // Coincide con una vocal
const expresionNegada = /[^aeiou]/; // Coincide con cualquier no vocal
Cuantificadores
Los cuantificadores permiten especificar cuántas veces un patrón puede aparecer.
\: Coincide con 0 o más veces.
+: Coincide con 1 o más veces.
?: Coincide con 0 o 1 vez.
{n}: Coincide exactamente n veces.
{n,}: Coincide al menos n veces.
{n,m}: Coincide entre n y m veces.
const expresion = /\d+/; // Coincide con uno o más dígitos
const expresionExacta = /\w{3}/; // Coincide con exactamente 3 caracteres alfanuméricos
Grupos y Captura
Los grupos permiten agrupar y capturar partes de la expresión regular.
const expresion = /(patrón1)(patrón2)/; // Grupo de captura
const resultado = expresion.exec('texto con patrón1patrón2');
console.log(resultado[1]); // Contenido del primer grupo
console.log(resultado[2]); // Contenido del segundo grupo
Estos son algunos conceptos básicos para trabajar con expresiones regulares en JavaScript. Las expresiones regulares son herramientas poderosas para manipular y buscar patrones en texto. ¡Sigue practicando y experimentando para mejorar tus habilidades en JavaScript!