Clojure:如何在正则表达式中使用变量?
在正则表达式中使用变量的正确方法是什么?例如:Clojure:如何在正则表达式中使用变量?,clojure,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
(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)
(clojure.string/split "foo/bar"))
哇,太快了!谢谢!(re-pattern“/”也可以,比(java.util.regex.pattern/compile“/)稍微简洁一些
(->> "/"
(re-pattern)
(clojure.string/split "foo/bar"))