Clases de caracteres
  
   Un corchete de apertura introduce una clase de caracteres,
   terminada por un corchete de cierre. Un corchete de cierre por sí solo no es especial. Si se requiere un corchete de cierre como miembro de la clase, debe ser
   el primer carácter de datos en la clase (después de un circunflejo inicial, si está presente) o escapado con una barra invertida.
  
  
   Una clase de caracteres coincide con un solo carácter en el sujeto;
   el carácter debe estar en el conjunto de caracteres definido por
   la clase, a menos que el primer carácter en la clase sea un
   circunflejo, en cuyo caso el carácter del sujeto no debe estar en
   el conjunto definido por la clase. Si se requiere un circunflejo como
   miembro de la clase, asegúrese de que no sea el
   primer carácter, o escápelo con una barra invertida.
  
  
   Por ejemplo, la clase de caracteres [aeiou] coincide con cualquier vocal minúscula, mientras que [^aeiou] coincide con cualquier carácter que no sea
   una vocal minúscula. Tenga en cuenta que un circunflejo es solo una
   notación conveniente para especificar los caracteres que están en
   la clase enumerando aquellos que no están. No es una
   afirmación: aún consume un carácter de la cadena de sujeto,
   y falla si el puntero actual está al final
   de la cadena.
  
  
   Cuando se establece la coincidencia sin distinción de mayúsculas y minúsculas, cualquier letra
   en una clase representa tanto su versión mayúscula como minúscula,
   por lo que, por ejemplo, una [aeiou] insensible coincide con "A"
   así como con "a", y una [^aeiou] insensible no coincide
   con "A", mientras que una versión sensible (con distinción de mayúsculas y minúsculas) sí.
  
  
   El carácter de nueva línea nunca se trata de manera especial en
   clases de caracteres, independientemente de la configuración de las opciones PCRE_DOTALL
   o PCRE_MULTILINE. Una clase como [^a] siempre coincide con una nueva línea.
  
  
   El carácter de guión puede usarse para especificar un rango
   de caracteres en una clase de caracteres. Por ejemplo, [d-m]
   coincide con cualquier letra entre d y m, inclusive. Si se requiere un carácter de guión en una clase, debe escaparse con una
   barra invertida o aparecer en una posición donde no pueda
   interpretarse como indicación de un rango, típicamente como el primer o último
   carácter en la clase.
  
  
   No es posible tener el carácter literal "]" como el
   carácter final de un rango. Un patrón como [W-]46] es
   interpretado como una clase de dos caracteres ("W" y "-")
   seguido de una cadena literal "46]", por lo que coincidiría con "W46]" o
   "-46]". Sin embargo, si el "]" se escapa con una barra invertida, se interpreta como el final del rango, por lo que [W-\]46] es
   interpretado como una sola clase que contiene un rango seguido de dos
   caracteres separados. También se puede usar la representación octal o hexadecimal
   de "]" para terminar un rango.
  
  
   Los rangos operan en la secuencia de clasificación ASCII. También pueden usarse para caracteres especificados numéricamente, por ejemplo
   [\000-\037]. Si se usa un rango que incluye letras cuando se establece la
   coincidencia sin distinción de mayúsculas y minúsculas, coincide con
   las letras en cualquier caso. Por ejemplo, [W-c] es equivalente a
   [][\^_`wxyzabc], coincidiendo sin distinción de mayúsculas y minúsculas, y si se usan tablas de caracteres para la configuración regional "fr", [\xc8-\xcb] coincide
   con caracteres E acentuados en ambos casos.
  
  
   Los tipos de caracteres \d, \D, \s, \S, \w, y \W también
   pueden aparecer en una clase de caracteres, y añaden los caracteres que
   coinciden a la clase. Por ejemplo, [\dABCDEF] coincide con cualquier
   dígito hexadecimal. Un circunflejo puede usarse convenientemente
   con los tipos de caracteres mayúsculas para especificar un conjunto más
   restringido de caracteres que el tipo minúscula correspondiente.
   Por ejemplo, la clase [^\W_] coincide con cualquier letra o dígito,
   pero no con el guión bajo.
  
  
   Todos los caracteres no alfanuméricos excepto \, -, ^ (al inicio) y el terminador ] son no especiales en clases de caracteres, pero no causa daño si están escapados. El terminador del patrón es siempre especial y debe escaparse cuando se usa
   dentro de una expresión.
  
  
   Perl soporta la notación POSIX para clases de caracteres. Esta usa nombres
   encerrados por [: y :] dentro
   de los corchetes de apertura y cierre. PCRE también
   soporta esta notación. Por ejemplo, [01[:alpha:]%]
   coincide con "0", "1", cualquier carácter alfabético, o "%". Las clases de nombres soportadas son:
   
    Clases de caracteres
    
     
      | alnum | letras y dígitos | 
      | alpha | letras | 
      | ascii | códigos de caracteres 0 - 127 | 
      | blank | solo espacio o tabulación | 
      | cntrl | caracteres de control | 
      | digit | dígitos decimales (igual que \d) | 
      | graph | caracteres de impresión, excluyendo espacio | 
      | lower | letras minúsculas | 
      | print | caracteres de impresión, incluyendo espacio | 
      | punct | caracteres de impresión, excluyendo letras y dígitos | 
      | space | espacio en blanco (no exactamente igual que \s) | 
      | upper | letras mayúsculas | 
      | word | caracteres de "palabra" (igual que \w) | 
      | xdigit | dígitos hexadecimales | 
     
    
   
   Los caracteres 
space son HT (9), LF (10), VT (11), FF (12), CR (13),
   y espacio (32). Observe que esta lista incluye el carácter VT (código
   11). Esto hace que "space" sea diferente a 
\s, que no incluye VT (para compatibilidad con Perl).
  
  
   El nombre word es una extensión de Perl, y blank es una extensión de GNU
   de Perl 5.8. Otra extensión de Perl es la negación, que se indica
   con un carácter ^ después de los dos puntos. Por ejemplo,
   [12[:^digit:]] coincide con "1", "2", o cualquier no dígito.
  
  
   En modo UTF-8, los caracteres con valores mayores que 128 no coinciden con ninguna
   de las clases de caracteres POSIX.
   A partir de libpcre 8.10, algunas clases de caracteres se cambian para usar
   propiedades de caracteres Unicode, en cuyo caso la restricción mencionada no se aplica. Consulte el » manual PCRE(3)
   para obtener más detalles.
  
  
   Las propiedades de caracteres Unicode pueden aparecer dentro de una clase de caracteres. No pueden ser parte de un rango. El carácter de guión después de una clase de caracteres Unicode coincidirá literalmente. Intentar terminar un rango con una propiedad de caracteres Unicode resultará en una advertencia.