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. (At present, for multibyte
characters, it matches anything that has word syntax.)
‘[:alpha:]’
This matches any letter. (At present, for multibyte characters, it
matches anything that has word syntax.)
‘[: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 ASCII control
characters, space, and the delete character.
‘[:lower:]’
This matches any lower-case letter, as determined by the current case
table (see Case Tables). If case-fold-search is
non-nil, this also matches any upper-case letter.
This matches any upper-case letter, as determined by the current case
table (see 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 (see Syntax Class Table).
‘[:xdigit:]’
This matches the hexadecimal digits: ‘0’ through ‘9’, ‘a’
through ‘f’ and ‘A’ through ‘F’.