Un tema interesante pero no el favorito de todos.
Este es un tema muy interesante pero no es el favorito de la mayoría de la gente porque puede ser difícil y confuso, y lleva mucho tiempo aprenderlas.
Usamos las expresiones regulares para encontrar combinaciones de caracteres en las cadenas que coinciden con un patrón particular. Las expresiones regulares son muy útiles, no sólo para JavaScript sino también para otros lenguajes de programación.
En JavaScript, tenemos la clase RegExp que representa las expresiones regulares. Así que la clase RegExp, similar a la clase String, tiene métodos útiles que nos ayudarán a realizar actividades de coincidencia de patrones, desde simples hasta complejas.
La API RegExp es difícil de usar si no conocemos la gramática de las expresiones regulares. Esta sintaxis/gramática es un lenguaje completo en sí mismo. Así que primero necesitamos entender la gramática, y sólo después de eso podemos empezar a escribir expresiones regulares.
Podemos construir una expresión regular de dos maneras. La primera es utilizar el literal de la expresión regular y la segunda es llamar a la función constructora del objeto RegExp. Estos objetos pueden ser creados si invocamos el constructor RegExp().
Lo que verás en la práctica es que las expresiones regulares suelen crearse utilizando la sintaxis del literal de expresión. Espero que a estas alturas sepas que los literales de expresión se crean cuando tenemos un carácter o conjunto de caracteres encerrados entre comillas. Los literales de expresión regular utilizan un patrón encerrado entre barras ‘/‘.
Ahora, creemos un objeto RegExp y asignemos su valor a una variable llamada myPattern.
Ejemplo:
let myPattern = /a$/;
El ejemplo anterior crea un nuevo objeto RegExp y asigna su valor a la variable myPattern. Como ya he explicado, los literales de la expresión están delimitados por barras inclinadas. Los literales son instancias de la clase RegExp.
Podemos conseguir exactamente el mismo resultado llamando a la función constructora RegExp().
Así es como se ve en la práctica:
let myPattern = new RegExp('a$');
Este ejemplo coincidirá con cualquier cadena que termine con la letra ‘a’. La expresión regular puede estar compuesta por caracteres simples o puede ser mucho más compleja. Cuando usamos caracteres simples para construir un patrón, buscamos encontrar la coincidencia exacta o directa.
Por ejemplo, un patrón de expresión regular simple puede ser /abc/, y cuando usamos este patrón, queremos encontrar la secuencia exacta de ‘abc‘ en las cadenas. Para probar y crear expresiones regulares, hay diferentes maneras, hay muchos sitios web que ofrecen esta funcionalidad de forma gratuita, y el sitio web que más uso cuando estoy en un apuro se llama regexr.
Puedes escribir y probar diferentes patrones de expresiones regulares. Hay muchos más sitios web como éste, y estoy seguro de que puedes encontrarlos muy rápidamente porque no tiene sentido mencionarlos aquí ya que cada año sale uno nuevo. Bien, ahora vamos a probar algunos patrones simples como este
const myString = `Hi, do you know your abc's`;
const regex = /abc/;
//const regex = new RegExp('abc');
console.log(regex.test(myString));
En este ejemplo, el patrón es muy sencillo y está compuesto por caracteres simples como ‘abc‘, y como puedes ver, he utilizado ambas formas de crear una expresión regular. La primera es la forma literal, y esa es la de arriba, y la que está comentada es crear una expresión regular usando el constructor de funciones.
Sólo necesitarás una, por eso la línea de la función constructora está comentada, y así no nos causará ningún error o confusión. La cadena ‘myString‘ contiene el patrón exacto ‘abc‘ que estamos tratando de igualar. Si ejecuta esto en la consola de su navegador, devolverá true porque el patrón que buscamos ha sido igualado.
Aquí estamos utilizando el método test() que ejecuta una búsqueda de coincidencia entre la expresión regular y la cadena especificada. Este método devolverá true o false (más adelante hablaremos de los métodos). Ahora quiero probar el mismo ejemplo con un patrón diferente:
const myString1 = `Hi, do you know your abc's`;
const regex 1 = /ac/;
//const regex 1 = new RegExp('ac');
console.log(regex1.test(myString1));//false
Conclusiones
Al final de cuentas, desarrollar código no es una tarea de un día, tómate tu tiempo y continúa aprendiendo, durante la marcha encontrarás que existen maneras más eficientes de resolver un problema. Te invito a conocer a profundidad nuestro contenido y también la oportunidad de continuar desarrollándote con Metaphorce.mx
Nuestro equipo provee de soluciones y conocimiento en tecnologías de la información, gobierno de TI y Desarrollo de soluciones a la medida para tu organización. De esta manera nuestros servicios de consultoría y transformación digital aceleran a tu organización a alcanzar sus metas. No dudes en contactarnos.
Te invitamos a continuar leyendo más de nuestros artículos. ¿Tienes alguna sugerencia o duda respecto a los servicios de consultoría y transformación digital para acelerar a tu organización y alcanzar tus metas? No dudes en contactarnos.
Síntesis: GHE
Comparte este artículo y síguenos en nuestras distintas Redes Sociales
¿Iniciamos?
Conoce todas las soluciones tecnológicas para acelerar
la transformación digital de tu organización.