Hoje, no site do Code Golf Stack Exchange, encontrei esta resposta no Clojure para a pergunta "Obter todos os links em uma página da web".
(->> (slurp "http://www.stroustrup.com")
(re-seq #"(?:http://)?www(?:[./#\+-]\w*)+"))
Sem a macro sofisticada, é apenas isso:
(re-seq #"(?:http://)?www(?:[./#\+-]\w*)+" (slurp "http://www.stroustrup.com"))
Isso retorna a lista:
("http://www.morganstanley.com/" "http://www.cs.columbia.edu/" "http://www.cse.tamu.edu" ...)
Posso fazer algo semelhante no Emacs Lisp?
Talvez uma função como (re-seq regexp (buffer-string))
essa retorne '(firstmatch secondmatch thirdmatch ...)
?
occur
. Vou ter que olhar através de sua fonte.
s.el
, mas talvez haja mais por aí. Aqui: github.com/magnars/s.el#s-match-strings-all-regex-string e quanto a isso?
M-x occur
isso que acontece, mas eu procuraria dentro por mais funções de baixo nível para fazer isso.