elisp: Char Classes

 
 33.3.1.2 Character Classes
 ..........................
 
 Here is a table of the classes you can use in a character alternative,
 and what they mean:
 
 ‘[:ascii:]’
      This matches any ASCII character (codes 0–127).
 ‘[:alnum:]’
      This matches any letter or digit.  For multibyte characters, it
      Character Properties::) indicates they are alphabetic or decimal
      number characters.
 ‘[:alpha:]’
      This matches any letter.  For multibyte characters, it matches
      characters whose Unicode ‘general-category’ property (See
      Character Properties) indicates they are alphabetic characters.
 ‘[:blank:]’
      This matches space and tab only.
 ‘[:cntrl:]’
      This matches any ASCII control character.
 ‘[:digit:]’
      This matches ‘0’ through ‘9’.  Thus, ‘[-+[:digit:]]’ matches any
      digit, as well as ‘+’ and ‘-’.
 ‘[:graph:]’
      This matches graphic characters—everything except whitespace, ASCII
      and non-ASCII control characters, surrogates, and codepoints
      unassigned by Unicode, as indicated by the Unicode
      ‘general-category’ property (SeeCharacter Properties).
 ‘[:lower:]’
      This matches any lower-case letter, as determined by the current
      case table (SeeCase Tables).  If ‘case-fold-search’ is
      non-‘nil’, this also matches any upper-case letter.
 ‘[:multibyte:]’
      This matches any multibyte character (SeeText
      Representations).
 ‘[:nonascii:]’
      This matches any non-ASCII character.
 ‘[:print:]’
      This matches any printing character—either whitespace, or a graphic
      character matched by ‘[:graph:]’.
 ‘[:punct:]’
      This matches any punctuation character.  (At present, for multibyte
      characters, it matches anything that has non-word syntax.)
 ‘[:space:]’
      This matches any character that has whitespace syntax (SeeSyntax
      Class Table).
 ‘[:unibyte:]’
      This matches any unibyte character (SeeText Representations).
 ‘[:upper:]’
      This matches any upper-case letter, as determined by the current
      case table (SeeCase Tables).  If ‘case-fold-search’ is
      non-‘nil’, this also matches any lower-case letter.
 ‘[:word:]’
      This matches any character that has word syntax (SeeSyntax Class
      Table).
 ‘[:xdigit:]’
      This matches the hexadecimal digits: ‘0’ through ‘9’, ‘a’ through
      ‘f’ and ‘A’ through ‘F’.