Regex 如何使用变量作为正则表达式值?

Regex 如何使用变量作为正则表达式值?,regex,lisp,scheme,racket,Regex,Lisp,Scheme,Racket,例如: (regexp-match #rx"a|b" "cat") 我想将一个变量绑定到“a | b”,以便动态创建模式 您可以根据需要动态构建模式(请参见),如下所示: (regexp "a|b") > #rx"a|b" 请注意,模式只是一个字符串,regexp过程负责将其转换为正则表达式对象。#rx”“符号只是正则表达式的文字表示,您可以通过使用regexp过程实现相同的效果。之后,可以将正则表达式绑定到变量: (let ((regexp (regexp "a|b"))) (r

例如:

(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"))
或者其他你喜欢的方式