gpt4 book ai didi

regex - 获取 clojure 上正则表达式的所有匹配项

转载 作者:行者123 更新时间:2023-12-01 09:04:22 25 4
gpt4 key购买 nike

我正在尝试解析一个 HTML 文件并获取其中的所有 href。

到目前为止,我使用的代码是:

(map 
#(println (str "Match: " %))
(re-find #"(?sm)href=\"([a-zA-Z.:/]+)\"" str_response))

str_response 是其中包含 HTML 代码的字符串。根据我对 Clojure 的基本理解,该代码应该打印一个匹配列表,但到目前为止,还没有运气。它不会崩溃,但它也不匹配任何东西。我尝试使用 re-seq 而不是 re-find,但没有成功。有什么帮助吗?

谢谢!

最佳答案

通常是 you cannot parse html with a regex (有趣的答案),虽然只是找到一个标签的所有出现应该是可行的。

一旦你找出正确的正则表达式 re-seq 就是你想要使用的函数:

user> (re-find #"aa" "aalkjkljaa")
"aa"
user> (re-seq #"aa" "aalkjkljaa")
("aa" "aa")

这不会让您崩溃,因为 re-find 返回 nil 映射被解释为空列表并且什么都不做

关于regex - 获取 clojure 上正则表达式的所有匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10888686/

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