例えば:
(regexp-match #rx"a|b" "cat")
"a|b"
パターンを動的に作成できるように、変数をにバインドしたいと思います。
次のように、必要に応じて動的にパターンを作成できます(ドキュメントを参照)。
(regexp "a|b")
> #rx"a|b"
パターンは単なる文字列であることに注意してくださいregexp
。プロシージャは、パターンを正規表現オブジェクトに変換します。表記は正規表現の文字通りの表現であり、手順#rx""
を使用して同じ効果を得ることができます。regexp
その後、正規表現を変数にバインドできます。
(let ((regexp (regexp "a|b")))
(regexp-match regexp "cat"))
または、プロシージャパラメータとして使用されます。
(define (matcher regexp)
(regexp-match regexp "cat"))
(matcher (regexp "a|b"))
またはあなたが空想する他の方法。