rx 正则表达式的函数和宏 ¶将 rx-form 转换为字符串正则表达式,效果等同于它们位于
(seq …) 形式的主体中。
rx 宏展开为字符串常量,
或者若使用 literal 或 regexp 形式,则展开为求值后返回字符串的 Lisp 表达式。
示例:
(rx (+ alpha) "=" (+ digit)) ⇒ "[[:alpha:]]+=[[:digit:]]+"
将 rx-expr 转换为字符串正则表达式并返回。
若 no-group 缺失或为 nil,
则在必要时将结果用非捕获组 ‘\(?:…\)’ 括起,
以确保附加到其后的后缀运算符作用于整个表达式。
示例:
(rx-to-string '(seq (+ alpha) "=" (+ digit)) t) ⇒ "[[:alpha:]]+=[[:digit:]]+"
rx-expr 中 literal 和 regexp 形式的参数
必须为字符串字面量。
pcase 宏可直接将 rx 表达式用作模式;
see rx in pcase。
有关向 rx 表示法添加用户定义扩展的机制,
see 定义新的 rx 形式。