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 caracteresa
,b
oc
[aeiou]
: Coincide con cualquier vocal
Vamos a verlo con un ejemplo
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
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 seaa
,b
oc
.[^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.
En este caso, [^a-zA-Z]
busca todo lo que no sean letras. Es decir, encuentra los números, el punto, los espacios.