Hay muchas clases de caracteres diferentes implementadas en Perl y algunas de ellas se usan con tanta frecuencia que se crea una secuencia especial para ellas. El objetivo de crear una secuencia especial es hacer que el código sea más legible y más corto. Las clases de caracteres especiales en Perl son las siguientes:
- Dígito \d[0-9] : \d se usa para hacer coincidir cualquier carácter de dígito y su equivalente a [0-9]. En la expresión regular /\d/ coincidirá con un solo dígito. El \d está estandarizado a «dígito». La principal ventaja es que el usuario puede escribir fácilmente en forma más corta y puede leerlo fácilmente. Hay dos formas de utilizar esta clase de carácter especial. Tomemos un ejemplo para una mejor comprensión para saber cómo hacer coincidir la string de caracteres.
Ejemplo:
/#[MNOPQ]-\d\d\d/
La string de caracteres dada arriba coincidirá con la siguiente.
#M-12345 #N-66666
Aquí, también podemos hacer uso de cuantificadores poniéndolos en la clase de carácter.
Ejemplo:
/#[MNOPQ]-\d{5}/
El ejemplo anterior es el mismo que la expresión regular anterior y permite cualquier número de dígitos después del guión y se puede escribir como /#[MNOPQ]-\d+/ .
El segundo método se utiliza en las clases de caracteres más grandes. La \d se coloca entre corchetes y coincide con un dígito de un solo carácter.
Ejemplo:
[\dABCDEFDEFGHIJKLMN]
Puede coincidir con un solo dígito o coincidir con cualquiera de las letras mayúsculas A, B, C, D, E, F, G, H, I, J, K, L, M o N. Se puede escribir en forma más corta por usando guión (-). Entonces será como:
[\dA-N]
- Clases de caracteres PO SIX: PO SIX son los estándares para mantener la compatibilidad entre los sistemas operativos y define la interfaz de programación de aplicaciones (API), con shells de línea de comandos e interfaces de utilidad. También especifica una serie de «grupos de caracteres» con un nombre como (alfa, alnum, ascii, en blanco, etc.). Las clases de caracteres PO SIX siempre existen en forma de [:clase:] donde clase es el nombre y [: y :] son los delimitadores. Las clases de caracteres POSIX siempre aparecen dentro de las clases de caracteres entre paréntesis. Estas clases son una forma conveniente y explicativa de enumerar un grupo de caracteres.
Sintaxis:
$string =~ /[[:class:]]/
Aquí la clase puede ser alfa, alnum, ascii, etc.
Las clases de caracteres POSIX admiten clases de caracteres entre paréntesis más grandes, como se muestra a continuación:
[01[:Class:]%]
Aquí coincidirá con ‘0’, ‘1’ y cualquier clase de carácter y el signo de porcentaje. Perl proporciona soporte para diferentes clases de caracteres PO SIX como se muestra a continuación en la tabla:
Clase Descripción alfa Cualquier carácter alfabético (“[A-Za-z]”) alnum Cualquier carácter alfanumérico (“[A-Za-z0-9]”). ascii Cualquier carácter del conjunto de caracteres ASCII. vacío Un espacio o una pestaña horizontal controlar Cualquier personaje de control. dígito Cualquier dígito decimal (“[0-9]”). grafico Cualquier carácter imprimible, excepto un espacio más bajo Cualquier carácter en minúscula (“[az]”) puntiagudo Cualquier carácter gráfico espacio Cualquier carácter de espacio en blanco superior Cualquier carácter en mayúscula (“[AZ]”) xdigito Cualquier dígito hexadecimal (“[0-9a-fA-F]”) palabra Una extensión de Perl (“[A-Za-z0-9_]”), equivalente a “\w” - Carácter de palabra \w[0-9a-zA-Z_] : El \w pertenece a la clase de carácter de palabra. El \w coincide con cualquier carácter alfanumérico único que puede ser un carácter alfabético, un dígito decimal o un carácter de puntuación como el guión bajo (_) . Coincidirá con una palabra de un solo carácter, no con la palabra completa. Si desea hacer coincidir la palabra completa, use \w+ .
- Espacio en blanco \s[\t\n\f\r] : La clase de carácter \s coincidirá con un solo carácter, es decir, un espacio en blanco. También coincidirá con los 5 caracteres, es decir, \t-tabulador horizontal , \n-la nueva línea , \f-el salto de página , \r-el retorno de carro y el espacio . En Perl v5.18, se introducirá un nuevo carácter que coincide con la pestaña vertical \cK .
- Clases de caracteres negados \D, \W, \S : Hay más de 110 000 caracteres Unicode disponibles en este mundo. Para negar una clase de carácter, simplemente use el símbolo de intercalación (^) . Negará el carácter especificado después del símbolo o incluso un rango. En las clases de caracteres negados usamos [^\d] para negar los dígitos del 0 al 9. Pero en lugar de [^\d] podemos usar simplemente \D para negar los dígitos del 0 al 9. La siguiente tabla ilustra el carácter especial negado. clases de personajes:
Clase de personaje negado Sentido Descripción \d \D [^\d] coincide con cualquier carácter que no sea un dígito \s \S [^\s] coincide con cualquier carácter que no sea un espacio en blanco \w \W [^\n] coincide con cualquier carácter que no sea «palabra» - Clases de caracteres Unicode: Unicode es una definición de «todos» los caracteres existentes y el estándar Unicode proporciona un número único para todos y cada uno de los caracteres, y es independiente de la plataforma. Hay más de 100 000 personajes disponibles en este mundo y cada personaje se describe como un punto de personaje. Pero algunos de los personajes están agrupados.
Sintaxis:
\p{...any character...}
Esta sintaxis se utiliza para hacer coincidir un solo carácter de uno de los grupos. Si necesita hacer coincidir cualquier cosa excepto un carácter específico, puede usar la expresión \P{…cualquier carácter…} correspondiente.