今天,在Code Golf Stack Exchange网站上,我在Clojure中找到了“获取网页上的所有链接”问题的答案。
(->> (slurp "http://www.stroustrup.com")
(re-seq #"(?:http://)?www(?:[./#\+-]\w*)+"))
没有花哨的宏,就是这样:
(re-seq #"(?:http://)?www(?:[./#\+-]\w*)+" (slurp "http://www.stroustrup.com"))
这将返回列表:
("http://www.morganstanley.com/" "http://www.cs.columbia.edu/" "http://www.cse.tamu.edu" ...)
我可以在Emacs Lisp中做类似的事情吗?
也许像(re-seq regexp (buffer-string))
这样的函数返回'(firstmatch secondmatch thirdmatch ...)
?
occur
。我将不得不查看其来源。
s.el
,但也许还有更多。在这里:github.com/magnars/s.el#s-match-strings-all-regex-string怎么样?
M-x occur
,但是我希望在内部寻找更多的低级功能来做到这一点。