Conjuntos y clases de caracteres

El uso de conjuntos de caracteres aumenta el potencial de las expresiones regulares con respecto a las expresiones de coincidencia exacta. Los conjuntos de caracteres se pueden utilizar para hacer coincidir cualquier carácter de un tipo dado, podríamos decir que son como un tipo de comodín.

En primer lugar, podemos utilizar ese carácter comodín para sustituir cualquier otro carácter individual a excepción del carácter de nueva línea (\n). Por ejemplo, la expresión regular

.at

Coincide con las cadenas 'cat', 'sat' y 'mat', entre otras. Este tipo de comodín de coincidencia se suele utilizar para búsquedas de nombres de archivo en sistemas operativos. Si queremos buscar ficheros que tengan la extensión .doc, por ejemplo, usaríamos el asterisco (*.doc).

Sin embargo, las expresiones regulares permiten especificar el tipo de carácter que se desea buscar y, de hecho, se puede especificar un conjunto al que pertenezca un carácter. En el ejemplo anterior, las expresiones regulares coinciden con 'cat' y 'mat' pero también con '#at'. Si desea limitar el rango de coincidencias a un carácter entre la a y la z, podemos hacerlo de la siguiente forma.

[a-z]

Todo aquello que quede encerrado entre los corchetes ([]) se considerará una clase de carácter (un conjunto de caracteres a los que debe pertenecer un carácter coincidente). Debemos tener en cuenta que la expresión incluida ente los corchetes coincide con un único carácter. Puede incluir un conjunto de caracteres, por ejemplo:

[aeiou]

que significa cualquier vocal.

También podemos describir rangos, como vimos anteriormente utilizando un guión o un conjunto de rangos.

[a-zA-Z]

Este conjunto de rangos equivale a cualquier carácter alfabético ya sea mayúsculas o minúsculas. También podemos utilizar conjuntos para excluir un carácter del conjunto. Por ejemplo:

[^a-z]

Equivale a cualquier carácter que no esté entre la a y la z. El símbolo de acento circunflejo significa "**no**" cuando se coloca dentro de corchetes. Si se utiliza fuera de los corchetes tiene otro significado, que examinaremos en breve.

Además de enumerar conjuntos y rangos, se pueden utilizar varias clases de carácter predefinido en una expresión regular, que se recogen en la siguiente tabla:

Clases de carácter predefinidas para usar en una expresión regular
Clase Significado
[[:alnum:]] Cualquier letra o dígito (incluidas vocales acentuadas, ñ, á,etc.)
[[:alpha:]] Cualquier letra (incluidas vocales acentuadas, ñ, á, etc.)
[[:lower:]] Cualquier letra minúscula (incluidas vocales acentuadas, ñ, á, etc.)
[[:upper:]] Cualquier letra mayúscula (incluidas vocales acentuadas, ñ, á, etc.)
[[:ascii:]] caracteres con código ASCII de 0 a 127
[[:digit:]] cualquier dígito
[[:xdigit:]] cualquier dígito hexadecimal
[[:punct:]] cualquier marca de puntuación
[[:blank:]] espacios o tabuladores
[[:space:]] cualquier espacio en blanco
[[:cntrl:]] caracteres de control
[[:graph:]] caracteres de impresión, salvo el espacio
[[:print:]] caracteres de impresión, espacio incluido

results matching ""

    No results matching ""