34.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
matches characters whose Unicode ‘general-category’ property
(see 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 horizontal whitespace, as defined by Annex C of the
Unicode Technical Standard #18. In particular, it matches spaces,
tabs, and other characters whose Unicode ‘general-category’
property (see Character Properties) indicates they are spacing
separators.
- ‘[: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 (see Character Properties).
- ‘[: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.
- ‘[:multibyte:]’
- This matches any multibyte character (see 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
(see Syntax Class Table).
- ‘[:unibyte:]’
- This matches any unibyte character (see Text Representations).
- ‘[:upper:]’
- 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’.