Regex 在正则表达式中是否有clojure的OR表达式?

Regex 在正则表达式中是否有clojure的OR表达式?,regex,clojure,Regex,Clojure,我有一个有两个可能输出的字符串,它要么被&除以,要么就是有没有一种方法可以用or表达式来确定正则表达式中哪一个是真的?我想你的意思是你希望将字符串与&或匹配,然后,在匹配的情况下,检查哪一个匹配 如果是这样,您可以使用正则表达式进行匹配,其中&是可选的,正如HamZa在对问题的评论中所建议的那样,并使用重新查找或捕获组捕获字符串的匹配部分,然后您可以检查: (re-find #"&?\|" "asdf|adsf") ;= "|" (re-find #"&?\|" "asdf&a

我有一个有两个可能输出的字符串,它要么被
&
除以,要么就是
有没有一种方法可以用or表达式来确定正则表达式中哪一个是真的?

我想你的意思是你希望将字符串与
&
匹配,然后,在匹配的情况下,检查哪一个匹配

如果是这样,您可以使用正则表达式进行匹配,其中
&
是可选的,正如HamZa在对问题的评论中所建议的那样,并使用
重新查找
或捕获组捕获字符串的匹配部分,然后您可以检查:

(re-find #"&?\|" "asdf|adsf")
;= "|"

(re-find #"&?\|" "asdf&|asdf")
;= "&|"
使用捕获组(使用
peek
获取向量的最终元素):


我认为您的意思是希望将字符串与
&
匹配,然后在匹配的情况下,检查匹配的是哪种情况

如果是这样,您可以使用正则表达式进行匹配,其中
&
是可选的,正如HamZa在对问题的评论中所建议的那样,并使用
重新查找
或捕获组捕获字符串的匹配部分,然后您可以检查:

(re-find #"&?\|" "asdf|adsf")
;= "|"

(re-find #"&?\|" "asdf&|asdf")
;= "&|"
使用捕获组(使用
peek
获取向量的最终元素):


使
&
可选
&?\\\\\\\\
?使
&
可选
&?\\\\\\\