rx
のregexpを使用する関数とマクロ ¶rx-formがあたかも(seq
…)
フォームのbodyであるかのように文字列regexpに変換する。rx
マクロは文字列定数、またはliteral
かregexp
フォームが使用されていたら文字列に評価されるLisp式に展開される。たとえば:
(rx (+ alpha) "=" (+ digit)) ⇒ "[[:alpha:]]+=[[:digit:]]+"
rx-exprをリターンされる文字列regexpに変換する。no-groupが省略またはnil
の場合には、後に付加する後置演算子が式全体に適用されるために、必要なら結果を非キャプチャリンググループ‘\(?:…\)’としてカッコで括る。たとえば:
(rx-to-string '(seq (+ alpha) "=" (+ digit)) t) ⇒ "[[:alpha:]]+=[[:digit:]]+"
rx-expr内のフォームliteral
およびregexp
にたいする引数は、文字列リテラルでなければならない。
pcase
マクロはパターンとして直接rx
式を使用できます。rx in pcaseを参照してください。
rx
表記へのユーザー定義の拡張メカニズムについては、新たなrx
フォームの定義を参照してください。