Conjuntos de caracteres en expresiones regulares de JavaScript
Los grupos de caracteres \d y \w no
son muy flexibles. Incluso una tarea tan simple
como encontrar todas las letras, pero no los dígitos -
no puede ser resuelta por ellos. Para tales tareas
se deben usar corchetes, que representan
una operación 'o'.
Los corchetes reemplazan un carácter,
cualquiera de los listados dentro. Por ejemplo,
así: /x[abc]x/ - estamos diciendo que
en los extremos deben estar las letras x, y dentro
- un carácter: o 'a', o 'b',
o 'c'.
Después de los corchetes se pueden escribir operadores
de repetición. Por ejemplo, así: /x[abc]+x/
- estamos diciendo que dentro de las x puede haber
cualquier cantidad de caracteres 'a', 'b'
y 'c' - en cualquier combinación.
No solo se pueden enumerar caracteres, sino crear
grupos de caracteres, escribiendo entre dos caracteres
un guion. Por ejemplo, así: [a-d] -
obtenemos todos los caracteres desde 'a' hasta
'd'.
Veamos algunos ejemplos.
Ejemplo
En este ejemplo el patrón de búsqueda se ve así:
entre xes cualquier letra desde 'a'
hasta 'z':
let str = 'xax xbx xcx x@x';
let res = str.replace(/x[a-z]x/g, '!');
Como resultado, en la variable se guardará lo siguiente:
'! ! ! x@x'
Ejemplo
En este ejemplo el patrón de búsqueda se ve así:
entre xes cualquier letra desde 'a'
hasta 'k':
let str = 'xax xbx xmx x@x';
let res = str.replace(/x[a-k]x/g, '!');
Como resultado, en la variable se guardará lo siguiente:
'! ! xmx x@x'
Ejemplo
En este ejemplo el patrón de búsqueda se ve así:
entre xes cualquier letra desde 'A'
hasta 'Z':
let str = 'xax xBx xcx x@x';
let res = str.replace(/x[A-Z]x/g, '!');
Como resultado, en la variable se guardará lo siguiente:
'xax ! xcx x@x'
Ejemplo
En este ejemplo el patrón de búsqueda se ve así:
entre xes cualquier dígito desde 0 hasta 9:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[0-9]x/g, '!');
Como resultado, en la variable se guardará lo siguiente:
'xax ! ! ! x@x'
Ejemplo
En este ejemplo el patrón de búsqueda se ve así:
entre xes cualquier dígito desde 3 hasta 7:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[3-7]x/g, '!');
Como resultado, en la variable se guardará lo siguiente:
'xax x1x ! ! x@x'
Ejemplo
En este ejemplo el patrón de búsqueda se ve así:
entre xes cualquier letra desde 'a'
hasta 'z' o dígito desde 1 hasta 9:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[a-z1-9]x/g, '!');
Como resultado, en la variable se guardará lo siguiente:
'! ! ! ! x@x'
Ejemplo
En este ejemplo el patrón de búsqueda se ve así:
entre xes cualquier letra desde 'a'
hasta 'z' o letra desde 'A' hasta
'Z':
let str = 'xax xBx xcx x5x x@x';
let res = str.replace(/x[a-zA-Z]x/g, '!');
Como resultado, en la variable se guardará lo siguiente:
'! ! ! x5x x@x'
Ejemplo
En este ejemplo el patrón de búsqueda se ve así:
entre xes cualquier letra desde 'a'
hasta 'z' o los dígitos 1, 2:
let str = 'xax xbx x1x x2x x3x';
let res = str.replace(/x[a-z12]x/g, '!');
Como resultado, en la variable se guardará lo siguiente:
'! ! ! ! x3x'
Ejemplo
En este ejemplo el patrón de búsqueda se ve así:
entre xes letras desde 'a' hasta 'z'
en cantidad desde 1 y más:
let str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]+x/g, '!');
Como resultado, en la variable se guardará lo siguiente:
'xx ! ! ! x123x xa3x'
Ejemplo
Hagamos que la cantidad de letras pueda ser cero:
let str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]*x/g, '!');
Como resultado, en la variable se guardará lo siguiente:
'! ! ! ! x123x xa3x'
Tareas prácticas
Dada la cadena:
let str = 'aba aea aca aza axa';
Escribe una expresión regular que encuentre según el siguiente
patrón: en los extremos hay letras 'a',
y entre ellas - la letra 'b', 'e'
o 'x'.
Dada la cadena:
let str = 'a1a a3a a7a a9a aba';
Escribe una expresión regular que encuentre según el siguiente
patrón: en los extremos hay letras 'a',
y entre ellas - un dígito desde 3-s hasta 6-tos.
Dada la cadena:
let str = 'aba aea afa aha aga';
Escribe una expresión regular que encuentre según el siguiente
patrón: en los extremos hay letras 'a',
y entre ellas - una letra desde a hasta g.
Dada la cadena:
let str = 'aba aea afa aha aga';
Escribe una expresión regular que encuentre según el siguiente
patrón: en los extremos hay letras 'a',
y entre ellas - una letra desde a hasta f y desde j hasta z.
Dada la cadena:
let str = 'aAa aea aEa aJa a3a';
Escribe una expresión regular que encuentre según el siguiente
patrón: en los extremos hay letras 'a',
y entre ellas - una letra desde a hasta f y desde A hasta D.
Dada la cadena:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Escribe una expresión regular que encuentre según el siguiente
patrón: en los extremos hay letras 'a',
y entre ellas - letras latinas minúsculas,
sin afectar a las demás.
Dada la cadena:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Escribe una expresión regular que encuentre según el siguiente
patrón: en los extremos hay letras 'a',
y entre ellas - letras latinas minúsculas y mayúsculas, sin afectar a las demás.
Dada la cadena:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Escribe una expresión regular que encuentre según el siguiente
patrón: en los extremos hay letras 'a',
y entre ellas - letras latinas minúsculas
y dígitos, sin afectar a las demás.