Expresiones regulares con javascript

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.

REGEX en JavaScript

Buscando patrones con expresiones regulares en JavaScript

Ejemplos

  1. Validación de correo electrónico: /^[a-zA-Z0-9.!#$%&’+/=?^_`{|}~-]+@a-zA-Z0-9?(?:.a-zA-Z0-9?)$/
  2. Validación de número de teléfono: /^(?:(?:+?1\s*(?:[.-]\s*)?)?(?:(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x.?|ext.?|extension)\s*(\d+))?$/
  3. Validación de URL: /^(?:(?:https?|ftp)://)?(?:(?!(?:10|127)(?:.\d{1,3}){3})(?!(?:169.254|192.168)(?:.\d{1,3}){2})(?!172.(?:1[6-9]|2\d|3[0-1])(?:.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-)[a-z\u00a1-\uffff0-9]+)(?:.(?:[a-z\u00a1-\uffff0-9]-)[a-z\u00a1-\uffff0-9]+)(?:.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:/\S)?$/i
  4. Validación de fecha (dd/mm/yyyy): /^(0?[1-9]|[12][0-9]|3[01])//\d\d$/
  5. Validación de fecha (
  6. mm/dd/yyyy): /^(0?[1-9]|1[012])//\d\d$/ 6. Validación de hora (hh:mm): /^([01]?[0-9]|2[0-3]):[0-5][0-9]$/
  7. Validación de número: /^\d+$/
  8. Validación de nombre de usuario (letras, números y ««): /^[a-zA-Z0-9]+$/
  9. Validación de contraseña (mínimo 8 caracteres, al menos una letra mayúscula, una letra minúscula y un número): /^(?=.[A-Za-z])(?=.\d)[A-Za-z\d]{8,}$/
  10. Extraer números de una cadena de texto: /\d+/g

Ten 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.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.