Introducción a las expresiones regulares en JavaScript
Las expresiones regulares son una herramienta muy poderosa en el mundo de la programación. En JavaScript, las expresiones regulares se utilizan para buscar y reemplazar patrones en cadenas de texto. En este artículo, vamos a explorar cómo crear y utilizar expresiones regulares en JavaScript.
Una expresión regular es una secuencia de caracteres que define un patrón de búsqueda. Se pueden utilizar para buscar patrones específicos en una cadena de texto, como números de teléfono, direcciones de correo electrónico o cualquier otro patrón que se pueda imaginar.
Para crear una expresión regular en JavaScript, se utiliza el constructor RegExp. Puede ser llamado con una cadena de patrón como argumento, o con una cadena de patrón y una bandera como argumentos. Las banderas son opcionales y se utilizan para modificar el comportamiento de la expresión regular.
Creando una expresión regular en JavaScript
Una de las características más útiles de las expresiones regulares es la capacidad de utilizar caracteres especiales. Estos caracteres son conocidos como metacaracteres y tienen un significado especial en las expresiones regulares. Algunos de los metacaracteres más comunes son:
- \d: Coincide con cualquier dígito.
- \w: Coincide con cualquier caracter alfanumérico.
- \s: Coincide con cualquier caracter de espacio en blanco.
- . : Coincide con cualquier caracter excepto una nueva línea.
- ^: Coincide con el comienzo de una línea.
- $: Coincide con el final de una línea.
Por ejemplo, si queremos buscar todos los números de teléfono en una cadena de texto, podríamos utilizar la expresión regular /\d{3}-\d{3}-\d{4}/. Esta expresión regular buscaría un patrón de tres dígitos, seguido de un guión, tres dígitos más, un guión y cuatro dígitos.
Una vez creada la expresión regular, podemos utilizar varios métodos para trabajar con ella. El método test() se utiliza para buscar un patrón en una cadena de texto y devuelve true si el patrón es encontrado y false si no lo es. El método exec() se utiliza para buscar un patrón en una cadena de texto y devuelve un objeto con información sobre la coincidencia, como el índice de la primera coincidencia y el valor de la coincidencia. Por último, el método match() es similar al método exec(), pero se utiliza con cadenas de texto en lugar de expresiones regulares.
Además de buscar patrones en una cadena de texto, también podemos utilizar expresiones regulares para reemplazar patrones. El método replace() se utiliza para reemplazar un patrón en una cadena de texto con otro valor. Por ejemplo, podríamos utilizar la expresión regular /\d{3}-\d{3}-\d{4}/ para buscar números de teléfono en una cadena de texto y reemplazarlos con «teléfono oculto» para proteger la privacidad de los usuarios.
Otra característica útil de las expresiones regulares en JavaScript son las banderas. Las banderas son opciones que se pasan al constructor RegExp para modificar el comportamiento de la expresión regular. Algunas de las banderas más comunes son:
- i: Hace que la expresión regular sea insensible a mayúsculas y minúsculas.
- g: Busca todas las coincidencias en lugar de detenerse después de la primera coincidencia.
- m: Hace que ^ y $ coincidan con el comienzo y el final de cada línea, en lugar de solo con el comienzo y el final de la cadena de texto completa.
Por ejemplo, si queremos buscar todas las ocurrencias de «javascript» en una cadena de texto, independientemente de si está escrita en mayúsculas o minúsculas, podríamos utilizar la expresión regular /javascript/i.
Utilizando metacaracteres en expresiones regulares
En resumen, las expresiones regulares son una herramienta poderosa en JavaScript para buscar y reemplazar patrones en cadenas de texto. Se pueden crear utilizando el constructor RegExp y trabajar con ellas utilizando métodos como test(), exec() y match(). También se pueden utilizar banderas para modificar el comportamiento de las expresiones regulares. Con un poco de práctica y conocimiento de los metacaracteres y banderas disponibles, las expresiones regulares se pueden utilizar para resolver una amplia variedad de problemas de procesamiento de cadenas de texto en JavaScript.

Buscando patrones con expresiones regulares en JavaScript
Ejemplos
Los siguientes ejemplos delimitan qué formato comprueba cada patrón. Una expresión regular puede comprobar la forma básica de un correo electrónico, pero no confirma que la dirección exista ni que pueda recibir mensajes; intentar cubrir por completo todos los casos permitidos por los estándares suele producir patrones difíciles de mantener.
Correo electrónico (comprobación básica de estructura):
/^[^\s@]+@[^\s@]+\.[^\s@]+$/Teléfono en formato internacional compacto, con signo + opcional y sin espacios ni separadores:
/^\+?[1-9]\d{7,14}$/URL HTTP o HTTPS con dominio ASCII o localhost:
/^https?:\/\/(?:localhost|(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63})(?::\d{1,5})?(?:[/?#][^\s]*)?$/iFecha en formato dd/mm/yyyy con año de cuatro dígitos (comprueba el formato y rangos básicos, no si la fecha existe en el calendario):
/^(?:0[1-9]|[12]\d|3[01])\/(?:0[1-9]|1[0-2])\/\d{4}$/Fecha en formato mm/dd/yyyy con año de cuatro dígitos (comprueba el formato y rangos básicos, no si la fecha existe en el calendario):
/^(?:0[1-9]|1[0-2])\/(?:0[1-9]|[12]\d|3[01])\/\d{4}$/Hora de 24 horas en formato hh:mm:
/^(?:[01]\d|2[0-3]):[0-5]\d$/Número entero no negativo:
/^\d+$/Nombre de usuario con letras ASCII, números y guion bajo:
/^[A-Za-z0-9_]+$/Contraseña de al menos 8 caracteres sin espacios, con una mayúscula, una minúscula y un número:
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)\S{8,}$/Extraer todos los grupos de dígitos de una cadena:
/\d+/gTen en cuenta que estas expresiones regulares son ejemplos generales y pueden ser modificadas para adaptarse a tus necesidades específicas. También es importante tener en cuenta que las expresiones regulares pueden ser complejas y requieren un cierto nivel de conocimiento para ser utilizadas correctamente.
Fuentes
Cada fuente respalda una afirmación concreta del artículo, no el artículo completo.