Java';ClojureScript中的s模式/报价等效项
在Clojure中,我可以使用Java';ClojureScript中的s模式/报价等效项,clojure,clojurescript,Clojure,Clojurescript,在Clojure中,我可以使用(re pattern(java.util.regex.pattern/quote foo))将模式字符串与另一个字符串精确匹配。我怎样才能在ClojureScript中做类似的事情 编辑:我还发现了这个-首先我应该说我既不使用ClojureScript也不使用Javascript,但是快速搜索ClojureScript正则表达式支持将我带到了这个页面:,在“其他函数”部分下,它说:“ClojureScript正则表达式支持是Javascript的支持”,提供了以下
(re pattern(java.util.regex.pattern/quote foo))
将模式字符串与另一个字符串精确匹配。我怎样才能在ClojureScript中做类似的事情
编辑:我还发现了这个-首先我应该说我既不使用ClojureScript也不使用Javascript,但是快速搜索ClojureScript正则表达式支持将我带到了这个页面:,在“其他函数”部分下,它说:“ClojureScript正则表达式支持是Javascript的支持”,提供了以下链接:。下一个链接似乎为您提供了您想要的内容(作为一个不使用JavaScript的人,我可以谨慎地肯定地说) 编辑
哦,也许这里这个老问题的答案会给你一个更完整的答案。没有内置的Clojure或Javascript函数 此clojure函数应转义字符串中的特殊regexp字符:
(defn re-quote [s]
(let [special (set ".?*+^$[]\\(){}|")
escfn #(if (special %) (str \\ %) %)]
(apply str (map escfn s))))
免责声明:我尚未对此进行广泛测试,因此在使用此代码清理潜在的有害字符串之前,您可能希望获得第二个意见。实际上
模式/quote
用\Q
和\E
封装表达式。