Las expresiones regulares son una herramienta poderosa utilizada en el desarrollo web para buscar y manipular cadenas de texto. A diferencia de funciones como indexOf
o find
, las expresiones regulares permiten definir patrones más complejos y flexibles.
¿Qué son las expresiones regulares?
Las expresiones regulares son patrones utilizados para buscar un substring dentro de una cadena de texto. A través de símbolos y metacaracteres, podemos definir cómo debe comportarse nuestra búsqueda. Por ejemplo, en mensajerías como WhatsApp o Telegram, escribir texto entre asteriscos convierte el texto en negrita, y esto se logra mediante expresiones regulares.
Usos principales en la web
- Validar formularios o datos de entrada: Verificar si la información ingresada cumple con ciertos requisitos.
- Extraer información de contenido: Obtener datos específicos de una página web.
- Reemplazar contenido: Modificar o eliminar partes de una cadena de texto.
Símbolos y metacaracteres
- Punto (.): Representa cualquier carácter excepto saltos de línea.
- Corchetes ([ ]): Definen un conjunto de caracteres posibles.
- Guión (-): Dentro de corchetes, define un rango de caracteres.
- Acento circunflejo (^): Indica el inicio de una cadena.
- Signo de dólar ($): Indica el final de una cadena.
Cuantificadores
- Asterisco (*): Cero o más repeticiones.
- Más (+): Una o más repeticiones.
- Signo de pregunta (?): Cero o una repetición.
- Llaves ({ }): Definen una cantidad exacta de repeticiones o un rango.
Ejemplo práctico
Supongamos que queremos validar si una cadena contiene la palabra «alumno» o «alumna». Podemos usar una expresión regular con corchetes para indicar que aceptamos tanto ‘o’ como ‘a’ en la última posición.
let regex = /alumn[oa]/i;
console.log(regex.test("alumno")); // true
console.log(regex.test("alumna")); // true
console.log(regex.test("alumnx")); // false
En este ejemplo, /alumn[oa]/i
busca «alumno» o «alumna» sin importar si están en mayúsculas o minúsculas gracias al modificador i
.
Capturando coincidencias
Para obtener las coincidencias encontradas por una expresión regular, utilizamos el método match
de los strings en JavaScript. Este método devuelve un array con todas las coincidencias.
let text = "Hola a todos los alumnos y alumnas";
let matches = text.match(/alumn[oa]/gi);
console.log(matches); // ["alumnos", "alumnas"]
Reemplazando texto
Podemos usar el método replace
para cambiar el texto que coincide con nuestra expresión regular. Por ejemplo, podemos convertir palabras en negrita envolviéndolas con etiquetas HTML.
let text = "Hola *mundo*";
let newText = text.replace(/\*(.*?)\*/g, "<b>$1</b>");
console.log(newText); // Hola <b>mundo</b>
Conclusión
Las expresiones regulares son una herramienta esencial para cualquier desarrollador web. Permiten buscar, validar y manipular texto de manera eficiente y flexible. En esta primera parte, hemos visto los conceptos básicos y algunos ejemplos prácticos. En la próxima sesión, profundizaremos en cómo aplicar estas técnicas en distintos lenguajes de programación.