Uno de los primeros pasos al comenzar en JavaScript requiere conocer las expresiones regulares. En este artículo te daremos su definición, así como la manera de crearlas y evaluarlas. 

¡Comencemos!

    << [Comienza ya] Gestiona tu contenido de una manera fácil con el software  CMS gratuito de HubSpot>>   

A modo ilustrativo pero no limitante, este ejemplo nos muestra algunas posibilidades que tenemos para crear nuestros patrones de expresiones regulares:

// Palabra que empieza con 'a'

let regularExp = /\b[aA]\w+/g;

// \b define un límite de una palabra

// [aA] busca las letras a o A

// \w+ busca cualquier carácter alfanumérico del alfabeto latino básico, el + indica que se puede repetir varias veces

Para hacer una expresión regular puedes seguir cualquiera de las siguientes dos opciones.

1. Notación literal

La notación literal consiste en definir un patrón acotado entre barras. La sintaxis es:

let re = /patrón/banderas; // notación literal

Ejemplo de expresión regular de JavaScript por notación literal

let regularExp = /ab+c/i; // palabra que inicie con 'a', seguida de varias 'b', seguidas de una 'c'

2. Constructor de objeto RegExp

También puedes usar el constructor del objeto RegExp pasando como parámetro el patrón acotado entre comillas. La sintaxis es:

let re = new RegExp('patrón', 'banderas'); // constructor con patrón como parámetro

Ejemplo de expresión regular de JavaScript por constructor de objeto RegExp

let regularExp = new RegExp('ab+c', 'i');

¿Cómo elegir la forma de construir una expresión regular en JavaScript?

¿Cuándo usar una y cuándo usar otra? La respuesta es sencilla. Si el patrón permanece constante, entonces debemos usar la notación literal; si el patrón cambia o se obtiene de otra fuente (introducido por el usuario, de otro archivo o de una base de datos), usaremos el constructor.

¿Cómo evaluar una expresión regular en JavaScript?

Las banderas son indicadores que habilitan funciones en la definición del patrón de la expresión regular. Los más usados son:

  • g: realiza una búsqueda global en toda la cadena a evaluar.

  • i: no hace distinción entre mayúsculas y minúsculas al evaluar la cadena.

Podemos usar el método test() o exec() del objeto RegExp de JavaScript para evaluar si una cadena cumple con un patrón únicamente enviando dicha cadena como parámetro de cada función.

En el siguiente ejemplo vemos que test() devuelve true o false, mientras que exec() devuelve un arreglo con las coincidencias encontradas en la cadena original o null si no hay coincidencias:

let cadena = "hola, mundo!";let resultado = /^hola/.test(cadena);console.log(resultado); // true// Busca "lugar" seguido de "Mancha", ignorando los caracteres intermedios// No distingue mayúsculas y minúsculas, y hace una búsqueda generallet regularExp = /lugar.+?mancha/ig;resultado = regularExp .exec('En un lugar de La Mancha...');console.table(resultado); // Arreglo con coincidencias

Cómo evaluar expresiones regulares en JavaScript

Ahora conoces qué es una expresión regular, así como las formas de hacerla y de evaluarla. Aprende más sobre este lenguaje de programación con el post ¿Qué es el método split en JavaScript?

New Call-to-action
 CMS Hub

Publicado originalmente el Jul 26, 2022 7:15:00 AM, actualizado el 27 de julio de 2022

Topics:

JavaScript