2012-08-15 54 views

回答

-1

我應該說第一關,我既不使用ClojureScript和JavaScript,但ClojureScript正則表達式支持快速搜索把我帶到這個頁面:https://github.com/clojure/clojurescript/wiki/Differences-from-Clojure,其中根據「其他函數「部分,它說:」ClojureScript正則表達式支持是JavaScript的「,提供此鏈接:http://www.w3schools.com/jsref/jsref_obj_regexp.asp。下一個鏈接似乎爲你提供了你想要的東西(作爲一個不使用JavaScript的人,我很謹慎地說)。

編輯
哦,也許答案在這裏這個老問題:Converting user input string to regular expression會給你一個更完整的答案。

2

這裏沒有內置的Clojure或Javascript函數。

這Clojure的函數應該在一個字符串轉義特殊字符的正則表達式:

(defn re-quote [s] 
    (let [special (set ".?*+^$[]\\(){}|") 
     escfn #(if (special %) (str \\ %) %)] 
    (apply str (map escfn s)))) 

http://ideone.com/QXbbB

免責聲明:我沒有廣泛測試此所以你可能要使用此之前得到第二意見代碼來消毒潛在的惡意字符串。

+0

其實'Pattern/quote'用'\ Q'和'\ E'包圍表達式。 – 2015-04-13 19:49:07