El comando 'o' en las expresiones regulares de JavaScript
En esta lección analizaremos el comando
'|', que representa una variante más
poderosa de 'o' en comparación
con el comando [ ]. Este comando permite
dividir la expresión regular en varias partes.
Por lo tanto, lo buscado puede coincidir con una
parte de la expresión regular o con otra. Veamos
algunos ejemplos.
Ejemplo
En este ejemplo, el patrón de búsqueda es: tres
letras 'a' o tres letras 'b':
let str = 'aaa bbb abb';
let res = str.replace(/a{3}|b{3}/g, '!');
Como resultado, en la variable se guardará lo siguiente:
'! ! abb'
Ejemplo
En este ejemplo, el patrón de búsqueda es: tres
letras 'a' o desde 1 y más
letras 'b':
let str = 'aaa bbb bbbb bbbbb axx';
let res = str.replace(/a{3}|b+/g, '!');
Como resultado, en la variable se guardará lo siguiente:
'! ! ! ! axx'
Ejemplo
En este ejemplo, el patrón de búsqueda es: una o más letras o tres dígitos:
let str = 'a ab abc 1 12 123';
let res = str.replace(/[a-z]+|\d{3}/g, '!');
Como resultado, en la variable se guardará lo siguiente:
'! ! ! 1 12 !'
Ejemplo
La barra vertical puede dividir la expresión regular no en dos partes, sino en cualquier cantidad de partes:
let str = 'aaa bbb ccc ddd';
let res = str.replace(/a+|b+|c+/g, '!');
Como resultado, en la variable se guardará lo siguiente:
'! ! ! ddd'
Ejemplo
Si la barra vertical está dentro de paréntesis,
entonces 'o' funciona solo dentro
de esos paréntesis.
Como ejemplo, busquemos cadenas según el siguiente
patrón: al principio está o 'a',
o 'b' una o más veces, y luego
dos letras 'x':
let str = 'axx bxx bbxx exx';
let res = str.replace(/(a|b+)xx/g, '!');
Como resultado, en la variable se guardará lo siguiente:
'! ! ! exx'
Tareas prácticas
Dada la cadena:
let str = 'aeeea aeea aea axa axxa axxxa';
Escriba una expresión regular que encuentre las cadenas
según el patrón: en los bordes hay letras 'a',
y entre ellas - o la letra 'e' cualquier
cantidad de veces o la letra 'x' cualquier
cantidad de veces.
Dada la cadena:
let str = 'aeeea aeea aea axa axxa axxxa';
Escriba una expresión regular que encuentre las cadenas
según el patrón: en los bordes hay letras 'a',
y entre ellas - o la letra 'e' dos veces
o la letra 'x' cualquier cantidad de veces.