Классы символов
Ниже представлена таблица классов, которые можно использовать в альтернативах символов, и их значения. Обратите внимание, что символы «[» и «]», которые заключают в себе имя класса, являются частью имени, поэтому для регулярного выражения, использующего эти классы, требуется еще одна пара скобок. Например, регулярное выражение, которое соответствует последовательности одного или нескольких букв и цифр, будет «[[:alnum:]]+», а не «[:alnum:]+».
- ‘[:ascii:]’
Соответствует любому символу ASCII (коды 0–127).
- ‘[:alnum:]’
Соответствует любой букве или цифре. Для многобайтовых символов она соответствует символам, у которых свойство Unicode «general-category» (см. Свойства символов) указывает, что они являются алфавитными или десятичными числовыми символами.
- ‘[:alpha:]’
Соответствует любой букве. Для многобайтовых символов она соответствует символам, у которых свойство Unicode «general-category» (см. Свойства символов) указывает, что они являются алфавитными символами.
- ‘[:blank:]’
Соответствует горизонтальному пробелу, как определено в приложении C технического стандарта Unicode #18. В частности, она соответствует пробелам, табуляциям и другим символам, у которых свойство Unicode «general-category» (см. Свойства символов) указывает, что они являются разделителями пробелов.
- ‘[:cntrl:]’
Соответствует любому символу, код которого находится в диапазоне 0–31.
- ‘[:digit:]’
Соответствует символам от ‘0’ до ‘9’. Таким образом, ‘[-+[:digit:]]’ соответствует любой цифре, а также ‘+’ и ‘-’.
- ‘[:graph:]’
Соответствует графическим символам — всем символам, кроме пробелов, ASCII и не-ASCII управляющих символов, суррогатов и кодовых точек, не назначенных в Unicode, как указано свойством Unicode «general-category» (см. Свойства символов).
- ‘[:lower:]’
Соответствует любой строчной букве, как определяется текущей таблицей регистров (см. Таблицы регистров). Если
case-fold-searchне являетсяnil, это также соответствует любой заглавной букве.- ‘[:multibyte:]’
Соответствует любому многобайтовому символу (см. Представления текста).
- ‘[:nonascii:]’
Соответствует любому символу, не являющемуся ASCII.
- ‘[:print:]’
Соответствует любому печатаемому символу — либо пробелу, либо графическому символу, соответствующему ‘[:graph:]’.
- ‘[:punct:]’
Соответствует любому символу пунктуации. (В настоящее время, для многобайтовых символов, это соответствует всему, что имеет синтаксис не-слова.)
- ‘[:space:]’
Соответствует любому символу, который имеет синтаксис пробела (см. Таблица классов синтаксиса).
- ‘[:unibyte:]’
Соответствует любому однобайтовому символу (см. Представления текста).
- ‘[:upper:]’
Соответствует любой заглавной букве, как определяется текущей таблицей регистров (см. Таблицы регистров). Если
case-fold-searchне являетсяnil, это также соответствует любой строчной букве.- ‘[:word:]’
Соответствует любому символу, который имеет синтаксис слова (см. Таблица классов синтаксиса).
- ‘[:xdigit:]’
Соответствует шестнадцатеричным цифрам: ‘0’ до ‘9’, ‘a’ до ‘f’ и ‘A’ до ‘F’.
Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Char-Classes.html