Google
Web dns.bdat.net

Definiciones de carácter

Primeramente pasamos a la definición de caracteres en una expresión regular. Vamos a detallar los metacaracteres que permiten especificar una plantilla que concuerde con un texto de unas características concretas. Dentro de las definiciones de caracteres podremos especificar caracteres genéricos, rangos de caracteres, exclusión de caracteres, literales y otras características adicionales.

Metacarácter

Significado

.

Concuerda con cualquier carácter (salvo fin de línea en modo multilínea)

()

Subexpresión o grupo

[ ]

Conjunto de caracteres

[ - ]

Rango de caracteres

[^ ]

Excepto ese conjunto de caracteres

|

Permite una alternativa para elegir entre dos expresiones

/ /

Delimita una expresión regular

\

Protege el siguiente metacarácter

Las expresiones permiten también especificar caracteres especiales no imprimibles:

Metacarácter

Significado

\a

pitido, el carácter BEL (07 en hexadecimal)

\e

escape (1B en hexadecimal)

\cx

"control-x", donde x es el carácter correspondiente

\f

nueva página (0C hexadecimal)

\n

nueva línea (0A hexadecimal)

\r

retorno de carro (0D hexadecimal)

\t

tabulador (09 hexadecimal)

\xhh

carácter con código hh hexadecimal

\ddd

carácter con código ddd en octal

Ejemplos:

Expresión

Significado

/[a-z]/

una letra minúsculas. El "-" indica un rango, que en este caso comienza en "a" y termina en "z".

/[A-Z]/

una letras mayúscula

/[0-9]/

un dígito

/[,'¿!¡;:.?]/

un carácter de puntuación

/[A-Za-z]/

una letra salvo acentuadas y ñ

/[A-Za-z0-9]/

una letra, salvo acentuadas y ñ, o un dígito

/[^a-z]/

cualquier carácter salvo una letras minúscula

/[^0-9]/

Cualquier carácter salvo un número.

Clases

Podemos especificar clases de caracteres según varias sintaxis, POSIX, tradicional o Unicode.

Según la sintaxis de clases POSIX, podemos indicar [:clase:] donde clase puede ser alguna de las siguientes expresiones:

Clase

Significado

[:alpha:]

carácter alfabético

[:alnum:]

carácter alfanumérico

[:ascii:]

carácter ascii

[:blank:]

espacio, incluye tabulador (también \s según la sintaxis tradicional)

[:cntrl:]

carácter de control

[:digit:]

un dígito (también \d según la sintaxis tradicional)

[:graph:]

carácter gráfico

[:lower:]

letra minúscula

[:print:]

carácter imprimible

[:punct:]

carácter de puntuación

[:space:]

espacio (también \s según la sintaxis tradicional)

[:upper:]

letra mayúscula

[:word:]

palabra (también \w según la sintaxis tradicional)

[:xdigit:]

dígito hexadecimal

En la sintaxis tradicional, además tenemos:

Metacarácter

Significado

\D

cualquier carácter que no sea un dígito decimal (equivalente a [^:digit:])

\S

cualquier carácter que no sea un espacio en blanco (equivalente a [^:blank:]

\w

cualquier carácter de de una palabra

\W

cualquier carácter que no sea de una "palabra"