Spec-Zone.ru › Elisp

Классы символов

Ниже приведена таблица классов, которые можно использовать в выражении в квадратных скобках (см. выражение в квадратных скобках), и их значения. Обратите внимание, что символы «[» и «]», обрамляющие имя класса, являются частью этого имени, поэтому регулярному выражению с такими классами нужна ещё одна пара квадратных скобок. Например, регулярное выражение, соответствующее последовательности из одной или нескольких букв и цифр, будет выглядеть так: «[[:alnum:]]+», а не так: «[:alnum:]+».

«[:ascii:]»

Соответствует любому символу ASCII (коды 0–127).

«[:alnum:]»

Соответствует любой букве или цифре. Для многобайтовых символов соответствуют символы, свойство Unicode «general-category» которых (см. Свойства символов) указывает, что они являются буквами или десятичными цифрами.

«[:alpha:]»

Соответствует любой букве. Для многобайтовых символов соответствуют символы, свойство Unicode «general-category» которых (см. Свойства символов) указывает, что они являются буквами.

«[:blank:]»

Соответствует горизонтальным пробельным символам, определённым в Приложении C Технического стандарта Unicode № 18. В частности, он соответствует пробелам, табуляциям и другим символам, свойство Unicode «general-category» которых (см. Свойства символов) указывает, что они являются разделителями-пробелами. (Если вам нужно искать только пробельные символы ASCII, мы рекомендуем вместо этого использовать явный набор вариантов символов, например «[ \t]», поскольку это будет быстрее, чем [[:blank:]].)

«[: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».

Классы «[:space:]», «[:word:]» и «[:punct:]» используют таблицу синтаксиса текущего буфера, но не переопределяющие текстовые свойства синтаксиса (см. Свойства синтаксиса).

Copyright © 1990-1996, 1998-2026 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Char-Classes.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API