Clojure re seq不返回所有正则表达式匹配项

Clojure re seq不返回所有正则表达式匹配项,clojure,Clojure,我使用re-seq获取与clojure中正则表达式匹配的所有序列,如下所示: (re-seq #"(.*)\&(.*)" "((a & b) & c)") 我得到了以下结果: (["(a&b)&c" "(a&b)" "c"]) 而我希望序列包含所有此类正则表达式匹配,如下所示: (["(a&b)&c" &quo

我使用re-seq获取与clojure中正则表达式匹配的所有序列,如下所示:

(re-seq #"(.*)\&(.*)" "((a & b) & c)")
我得到了以下结果:

(["(a&b)&c" "(a&b)" "c"])
而我希望序列包含所有此类正则表达式匹配,如下所示:

(["(a&b)&c" "(a&b)" "c"] ["(a&b)&c" "(a" "b)&c"])

如何解决这个问题?我做错了什么?

re-seq
不能这样工作,正如您所看到的。在它(贪婪地)找到一个匹配项后,它开始查找下一个匹配项“在与上一个匹配项不匹配的第一个字符处”,如本文所述,您可以使用
re find