gpt4 book ai didi

clojure - 如何验证字符串是否是 Clojure 中的有效 URL

转载 作者:行者123 更新时间:2023-12-04 06:41:10 30 4
gpt4 key购买 nike

我想知道 Clojure 是否有比 How to verify if a String in Java is a valid URL 中描述的更好的工具用于检测给定的字符串是否是有效的 URL。

有人包装 Apache Commons Validator 吗?有没有我不知道的独立图书馆?

最佳答案

如果Apache Commons Validator做你想做的,你可以直接从 Clojure 中使用它。将其添加到您的依赖项中:

[commons-validator "1.5.1"]

然后您可以通过利用 Clojure's Java interop features 以与在 Java 中使用它基本相同的方式使用该库.

例如,以下是 Esteban Cacavelos 对您所链接问题的回答的直接翻译:

;;...your imports

(import (org.apache.commons.validator.routines UrlValidator))

(defn -main [& args]

;; Get an UrlValidator
(let [default-validator (UrlValidator.)]
(if (.isValid default-validator "http://www.apache.org")
(println "valid"))
(if (not (.isValid default-validator "http//www.oops.com"))
(println "INvalid")))

;; Get an UrlValidator with custom schemes
(let [custom-schemes (into-array ["sftp" "scp" "https"])
custom-validator (UrlValidator. custom-schemes)]
(if (not (.isValid custom-validator "http://www.apache.org"))
(println "valid")))

;; Get an UrlValidator that allows double slashes in the path
(let [double-slash-validator (UrlValidator. UrlValidator/ALLOW_2_SLASHES)]
(if (.isValid double-slash-validator "http://www.apache.org//projects")
(println "INvalid"))))

关于clojure - 如何验证字符串是否是 Clojure 中的有效 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37956559/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com