Функции и макросы, использующие 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