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 (
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 (Character Properties).
‘[:lower:]’
This matches any lower-case letter, as determined by the current
case table (Case Tables). If ‘case-fold-search’ is
non-‘nil’, this also matches any upper-case letter.
‘[:multibyte:]’
This matches any multibyte character (Text
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 (Syntax
Class Table).
‘[:unibyte:]’
This matches any unibyte character (Text Representations).
‘[:upper:]’
This matches any upper-case letter, as determined by the current
case table (Case Tables). If ‘case-fold-search’ is
non-‘nil’, this also matches any lower-case letter.
‘[:word:]’
This matches any character that has word syntax (Syntax Class
Table).
‘[:xdigit:]’
This matches the hexadecimal digits: ‘0’ through ‘9’, ‘a’ through
‘f’ and ‘A’ through ‘F’.