Spec-Zone.ru › Elisp

Функции и макросы, использующие rx regexp

Макрос: rx rx-form…

Преобразует rx-form в строковый regexp, как если бы они были телом (seq …) формы. Макрос rx расширяется до строковой константы или, если используются формы literal или regexp, до Lisp-выражения, результатом вычисления которого является строка. Пример:

(rx (+ alpha) "=" (+ digit))
  ⇒ "[[:alpha:]]+=[[:digit:]]+"
Функция: rx-to-string rx-expr &optional no-group

Преобразует rx-expr в строковый regexp, который возвращается. Если no-group отсутствует или имеет значение nil, результат заключается в незахватывающую группу ‘\(?:…\)’, если это необходимо, чтобы гарантировать, что постфиксный оператор, добавленный к нему, будет применяться ко всему выражению. Пример:

(rx-to-string '(seq (+ alpha) "=" (+ digit)) t)
  ⇒ "[[:alpha:]]+=[[:digit:]]+"

Аргументы форм literal и regexp в rx-expr должны быть строковыми литералами.

Макрос pcase может использовать выражения rx в качестве шаблонов напрямую; см. rx в pcase.

Для механизмов добавления пользовательских расширений к rx обозначению, см. Расширение Rx.

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/Rx-Functions.html

Spec-Zone.ru

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