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フォームの定義を参照してください。