8
在正則表達式中使用變量的正確方法是什麼?例如: -Clojure:如何在正則表達式中使用變量?
(def var "/")
(split "foo/bar" #var)
應該給
=> ["foo" "bar"]
但它不以這種方式工作。那我該怎麼做?非常感謝你提前。
在正則表達式中使用變量的正確方法是什麼?例如: -Clojure:如何在正則表達式中使用變量?
(def var "/")
(split "foo/bar" #var)
應該給
=> ["foo" "bar"]
但它不以這種方式工作。那我該怎麼做?非常感謝你提前。
(def my-re (java.util.regex.Pattern/compile "/")) ; to turn a string into a regex
;; or just
(def my-re #"/") ; if the regex can be a literal
(clojure.string/split "foo/bar" my-re)
您可以使用re-pattern
:
(def var "/") ; variable containing a string
(def my-re (re-pattern var)) ; variable string to regex
(clojure.string/split "foo/bar" my-re)
或者,使用一個線程最後一個宏:
(->> "/"
(re-pattern)
(clojure.string/split "foo/bar"))
哇,這是快!非常感謝! – 2012-01-07 12:36:57
(重新模式「/」)將會做得更好,比(java.util.regex.Pattern/compile「/」)更簡潔 – NielsK 2012-01-07 13:36:29
很好,非常感謝。 – 2012-01-07 15:33:06