Classi di caratteri
  
   Un parentesi quadrata aperta "[" inizia una classe di caratteri; una parentesi quadrata
   chiusa "]" termina la definizione della classe. Di suo il carattere di parentesi
   quadrata chiusa non ha significati speciali. Se occorre inserire la parentesi
   chiusa all'interno di una classe di caratteri, questa deve
   essere la prima lettera (ovviamente deve seguire il carattere "^",
   se presente) oppure deve essere preceduta dal carattere di escape "\".
  
  
   Una classe di caratteri identifica un singolo carattere nella stringa
   oggetto di ricerca; il carattere deve comparire nel set di caratteri definito
   dalla classe, a meno che il primo carattere della classe non sia l'accento
   circonflesso "^", in tal caso il carattere non deve essere nel set definito
   dalla classe. Se è richiesto l'inserimento del carattere "^" nel set definito
   dalla classe, questo non deve essere la prima lettera dopo la parentesi di
   apertura, oppure deve essere preceduto dal carattere di escape (\).
  
  
   Ad esempio, la classe [aeiou] identifica ogni vocale minuscola,
   mentre [^aeiou] identifica tutti i caratteri che non siano
   delle vocali minuscole. Occorre notare che il simbolo "^" è
   un modo pratico per indicare i caratteri che sono nella
   classe, citando quelli che non lo sono. Questa non è una
   asserzione: consuma un carattere della stringa oggetto
   di ricerca e fallisce se ci si trova alla fine
   del testo.
  
  
   In un riconoscimento senza distinzione tra minuscole e maiuscole,
   ogni lettera della classe identifica sia la versione maiuscola
   sia la minuscola. Così, ad esempio, la classe [aeiou] identifica
   sia "A" sia "a", e, in questo caso, [^aeiou] non identifica "A",
   mentre con la distinzione delle maiuscole [^aeiou] identifica la lettera "A".
  
  
   Il carattere di "a capo" (newline) non viene trattato in
   modo speciale nelle classi di caratteri, indipendentemente
   dalle opzioni PCRE_DOTALL 
   o PCRE_MULTILINE.
   La classe [^a] riconosce sempre il carattere "a capo".
  
  
   Il segno meno (-) può essere usato per definire un intervallo
   all'interno della classe. Ad esempio, [d-m] identifica ogni
   lettera compresa tra d ed m inclusi. Se occorre inserire il segno
   meno (-) come carattere da riconoscere o lo si fa precedere dal carattere
   di escape (\), oppure lo si mette in una posizione tale che non possa essere
   identificato come definizione di un intervallo (ad esempio all'inizio o alla fine
   della definizione della classe).
  
  
   Non è possibile usare il carattere "]" come limite di un
   intervallo. Un criterio definito come [W-]46], viene inteso
   come una classe di due caratteri (W e -) seguita dalla stringa
   46], in tal modo sarebbero riconosciuti i testi "W46]" oppure "-46]".
   Quindi è necessario precedere la lettera "]" con il carattere di
   escape (\), in questo modo [W-\]46], viene interpretata
   correttamente come una singola classe contenente un range seguito
   da due caratteri separati. In alternativa, per delimitare l'intervallo
   si può utilizzare la notazione ottale di "]".
  
  
   Gli intervalli utilizzano la sequenza di caratteri ASCII. Inoltre possono
   essere utilizzati per definire caratteri con specifica numerica
   (ad esempio [\000-\037]). Nei casi in cui si abiliti il riconoscimento
   senza distinzione tra lettere maiuscole e minuscole, gli intervalli comprendenti
   lettere identificano sia la lettera maiuscola che minuscola. Ad esempio, [W-c] è equivalente a
   [][\^_`wxyzabc] (con il riconoscimento a prescindere dalla lettera maiuscole e minuscole), e, se
   si utilizza la tabella dei caratteri locali francesi "fr", [\xc8-\xcb] identifica
   la lettera "e" accentata sia maiuscola sia minuscola.
  
  
   Nelle classi di caratteri si possono utilizzare le sequenze
   \d, \D, \s, \S,  \w e \W per aggiungere altri tipi di caratteri
   alla classe. Ad esempio, [\dABCDEF] riconosce qualsiasi cifra
   esadecimale. Il carattere "^" può essere utilizzato con i caratteri
   maiuscoli per indicare un set di caratteri più ristretto
   che l'identificazione del set di caratteri minuscoli. Ad
   esempio, la classe [^\W_] identifica qualsiasi lettera o cifra
   ma non il trattino basso (_).
  
  
   Tutti i caratteri non alfabetici, eccetto \,  -,  ^ (posto
   all'inizio) e ] non sono speciali per la classi di caratteri,
   e non sono dannosi se preceduti dal caratteri di escape (\). Il terminatore
   di criterio è sempre speciale e deve essere preceduto da \ quando usato
   all'interno di un'espressione.
  
  
   Perl supports the POSIX notation for character classes. This uses names
   enclosed by [: and :] within the enclosing square brackets. PCRE also
   supports this notation. For example, [01[:alpha:]%]
   matches "0", "1", any alphabetic character, or "%". The supported class
   names are:
   
    Character classes
    
     
      | alnum | letters and digits | 
      | alpha | letters | 
      | ascii | character codes 0 - 127 | 
      | blank | space or tab only | 
      | cntrl | control characters | 
      | digit | decimal digits (same as \d) | 
      | graph | printing characters, excluding space | 
      | lower | lower case letters | 
      | print | printing characters, including space | 
      | punct | printing characters, excluding letters and digits | 
      | space | white space (not quite the same as \s) | 
      | upper | upper case letters | 
      | word | "word" characters (same as \w) | 
      | xdigit | hexadecimal digits | 
     
    
   
   The 
space characters are HT (9), LF (10), VT (11), FF (12), CR (13),
   and space (32). Notice that this list includes the VT character (code
   11). This makes "space" different to 
\s, which does not include VT (for
   Perl compatibility).
  
  
   The name word is a Perl extension, and blank is a GNU extension
   from Perl 5.8. Another Perl extension is negation, which is indicated
   by a ^ character after the colon. For example,
   [12[:^digit:]] matches "1", "2", or any non-digit.
  
  
   In UTF-8 mode, characters with values greater than 128 do not match any
   of the POSIX character classes.