regex-clases-de-caracteres

Clases de caracteres en Regex

Las clases de caracteres son un conjunto de caracteres que agrupamos para buscar una coincidencia con cualquiera de los caracteres del grupo.

Se definen utilizando corchetes [], y dentro de ellos indicamos los caracteres que queremos buscar.

Por ejemplo, la expresión [abc] coincidirá con cualquiera de los caracteres a, b o c. Esto significa que cualquier cadena que contenga al menos uno de estos caracteres cumplirá el patrón.

Clases de caracteres simples

Podemos crear clases de caracteres simples simplemente metiendo en el grupo varios caracteres individuales. Por ejemplo:

  • [abc]: Coincide con cualquiera de los caracteres a, b o c
  • [aeiou]: Coincide con cualquier vocal

Vamos a verlo con un ejemplo

Hola, ¿como estas? 123... mira mama salgo en la tele

Al estar usando [ao], estamos encontrando todas las letras a o o.

Rango de caracteres

También podemos usar un rango dentro de la clase de caracteres para abarcar un conjunto de caracteres contiguos.

Para ello se usar el separador -. Por ejemplo:

  • [a-z]: Coincide con cualquier letra minúscula
  • [A-Z]: Coincide con cualquier letra minúscula
  • [A-Za-z]: Coincide con cualquier letra, ya sea mayúscula o minúscula
  • [0-9]: Coincide con cualquier dígito

Vamos a verlo con un ejemplo

Hola, ¿como estas? 123... mira mama salgo en la tele

Aquí el patrón [a-f] busca todas las letras que van de la a a la f.

Clases de caracteres negadas

También podemos negar una clase de una clase de caracteres utilizando el símbolo ^ al inicio de la clase.

En este caso, los caracteres que cumplirán el patrón son los que no están dentro del rango. Por ejemplo:

  • [^abc]: Coincide con cualquier carácter que no sea a, b o c.
  • [^a-zA-Z]: Coincide con cualquier carácter que no sea una letra.
  • [^0-9]: Coincide con cualquier carácter que no sea un dígito.
Hola, ¿como estas? 123... mira mama salgo en la tele

En este caso, [^a-zA-Z] busca todo lo que no sean letras. Es decir, encuentra los números, el punto, los espacios.