Ir al contenido

Unpacking de valores con expresiones regulares en Javascript

El unpacking de valores con expresiones regulares en Javascript nos permite analizar una cadena de texto y extraer partes de ellas dejándolas directamente en variables que podamos utilizar en nuestro código fuente. Esto es posible gracias a los operadores de desestructuración que nos ofrece Javascript.

Lo primero será tener una cadena para extraer información. La cadena será la siguiente:

'Buenos días Juan, ¿Le gustó Ávila?'

Cómo podemos apreciar hay dos partes que son las que vamos a intentar extraer, estas son el nombre de la persona a la que saludamos y la otra será la ciudad sobre la que le preguntamos. Es decir, otra cadena podría ser:

'Buenos días Lucía, ¿Le gustó Madrid?'

Lo siguiente será definir la expresión regular que nos ayude a detectar estos dos grupos. Esta será la expresión regular:

/días ([A-Za-z]+), ¿Le gustó ([A-Za-z]+)?/

Vemos que entre paréntesis se definen los grupos que queremos extraer, el resto corresponden con los literales específicos de la cadena.

Cuando ejecutamos esta expresión regular con el método .exec() lo que vemos es que se nos devuelve un array con varias posiciones.

let regexp = /días ([A-Za-z]+), ¿Le gustó ([A-Za-z]+)?/;
let array = regexp.exec('Buenos días Juan, ¿Le gustó Ávila?');

La salida del array es:

[ 'días Juan, ¿Le gustó Ávila?', 'Juan', 'Ávila', index: 7, input: 'Buenos días Juan, ¿Le gustó Ávila?' ]

Vemos que la primera parte es la cadena completa, seguida por los grupos que detectan las palabras buscadas.

Ahora es cuando tenemos que hacer la desestructuración del array.

const [, nombre, ciudad] = array;

Utilizamos una coma de inicio para que ignore la primera posición, y luego dejamos las variables nombre y ciudad. En este momento directamente podemos utilizar estas variables que serán las que tengan el contenido extraído por la expresión regular.

console.log(`La persona ${nombre} estuvo en ${ciudad}`);

Vemos que de esta forma tan sencilla podemos hacer un unpacking de valores con expresiones regulares en Javascript.

Foto de Víctor Cuervo

Víctor Cuervo

Programador, Arquitecto IT, álter ego de Línea de Código, amante de las tecnologías, generador de conocimiento y facilitador del aprendizaje.

Descarga el código de Unpacking de valores con expresiones regulares en Javascript

El unpacking de valores con expresiones regulares en Javascript permite extraer información de cadenas y asignarla a variables fácilmente.

Descargar código