Variable Regex en JavaScript

Sahil Bhosale 20 junio 2023
Variable Regex en JavaScript

Una expresión regular, también conocida como regex, es una secuencia de caracteres que define un patrón de texto que debe coincidir. Una expresión regular es un objeto que se usa solo con cadenas.

Para obtener más información sobre las expresiones regulares y las diversas clases de caracteres y banderas disponibles, puede consultar la documentación oficial. Este artículo analiza brevemente la expresión regular en JavaScript.

Use una variable en una expresión regular usando literales de plantilla en JavaScript

Hay dos formas de definir una expresión regular en JavaScript, una usando el literal de expresión regular donde los patrones están encerrados dentro de barras inclinadas / y la otra llamando a la función constructora del objeto RegExp. Esta función constructora toma dos parámetros, el primero es el patrón y el segundo es la bandera.

Para este tutorial, usaremos la función constructora del objeto RegExp y veremos cómo usar una variable dentro de una expresión regular en JavaScript. En el siguiente ejemplo, hemos tomado una cadena de entrada que contacta con varios caracteres y números.

Nuestro objetivo aquí es crear un patrón, pasarlo a la función constructora RegExp y reemplazar todos los dígitos dentro de la cadena con una palabra.

let inputString = "I work at 1. Android is developed by 2.";

Dado que la función constructora RegExp toma el patrón como primer parámetro, vamos a crear una nueva variable llamada patrón. Pasaremos el \\d que buscará los dígitos dentro de la cadena dentro de esta variable.

Encerraremos la variable patrón con el carácter \\b y la pasaremos como primer argumento a la función constructora RegExp. Pero simplemente pasar la variable patrón como \\bpatrón\\b no funcionará, arrojando un error de secuencia de escape no válida.

Tenemos que usar los literales de plantilla o las cadenas de plantilla para que esto funcione. Encerraremos la cadena completa dentro de los caracteres de comillas invertidas, y luego donde queramos agregar la variable patrón, usaremos ${} y pasaremos la variable patrón dentro de las llaves como se muestra en el código a continuación. retazo.

Fragmento de código - JavaScript:

let pattern = "\\d";
let re = new RegExp(`\\b${pattern}\\b`, 'gi');
console.log(inputString.replace(re, "Google"));

Y luego, pasaremos gi como segundo argumento a la función constructora RegExp. La g realizará una búsqueda global en toda la cadena de entrada, y la i reemplazará todas las instancias de una palabra específica proporcionada dentro de la función reemplazar.

Luego almacenaremos el resultado de la función constructora RegExp dentro de la variable re (expresión regular). Finalmente, usaremos la función de cadena reemplazar () en inputString y pasaremos la expresión regular como el primer parámetro y la nueva palabra reemplazada con la correspondiente.

Producción :

I work at Google. Android is developed by Google.

En este caso, queremos reemplazar los números 1 y 2 con la palabra Google. Entonces, la expresión regular almacenada dentro de la variable re encontrará estos dos dígitos dentro de inputString, y luego reemplazará estos números con la palabra Google con la ayuda de la función replace().

Sahil Bhosale avatar Sahil Bhosale avatar

Sahil is a full-stack developer who loves to build software. He likes to share his knowledge by writing technical articles and helping clients by working with them as freelance software engineer and technical writer on Upwork.

LinkedIn

Artículo relacionado - JavaScript Regex