Next: Extending Rx, Previous: Rx Constructs, Up: Rx Notation [Contents][Index]
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
表記へのユーザー定義の拡張メカニズムについては、Extending Rxを参照してください。