En el sitio de Code Golf Stack Exchange hoy, encontré esta respuesta en Clojure a la pregunta "Obtener todos los enlaces en una página web".
(->> (slurp "http://www.stroustrup.com")
(re-seq #"(?:http://)?www(?:[./#\+-]\w*)+"))
Sin la macro elegante, es solo esto:
(re-seq #"(?:http://)?www(?:[./#\+-]\w*)+" (slurp "http://www.stroustrup.com"))
Esto devuelve la lista:
("http://www.morganstanley.com/" "http://www.cs.columbia.edu/" "http://www.cse.tamu.edu" ...)
¿Puedo hacer algo similar en Emacs Lisp?
Tal vez una función como (re-seq regexp (buffer-string))
esa regresa '(firstmatch secondmatch thirdmatch ...)
?
occur
. Tendré que mirar a través de su fuente.
s.el
, pero tal vez hay más por ahí. Aquí: github.com/magnars/s.el#s-match-strings-all-regex-string ¿qué tal esto?
M-x occur
hace, pero buscaría más funciones de bajo nivel para hacerlo.