在正则表达式中是否有一个OR表达式用于clojure?

时间:2013-07-15 13:31:10

标签: regex clojure

我有一个字符串有两个可能出来它将被&|除或只是|有没有办法做一个或表达式来确定哪些在正则表达式中是真的?< / p>

1 个答案:

答案 0 :(得分:3)

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

如果是这样,您可以通过匹配&是可选的正则表达式来完成 - 正如HamZa在对问题的评论中所建议的那样 - 并使用re-find或捕获组来捕获匹配您可以检查的字符串的一部分:

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

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

使用捕获组(使用peek获取向量的最终元素):

(re-matches #".*[^&](&?\|).*" "asdf&|asdf")
;= ["asdf&|asdf" "&|"]