Character Classes
.................
Here is a table of the classes you can use in a character
alternative, in Emacs 21, and what they mean:
`[:ascii:]'
This matches any ASCII (unibyte) character.
`[: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 (Note:Case Tables).
`[:nonascii:]'
This matches any non-ASCII (multibyte) character.
`[:print:]'
This matches printing characters--everything except ASCII control
characters and the delete character.
`[: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 (Note:Syntax Class Table).
`[:upper:]'
This matches any upper-case letter, as determined by the current
case table (Note:Case Tables).
`[:word:]'
This matches any character that has word syntax (Note:Syntax
Class Table).
`[:xdigit:]'
This matches the hexadecimal digits: `0' through `9', `a' through
`f' and `A' through `F'.