Sur le site de Code Golf Stack Exchange aujourd'hui, j'ai trouvé cette réponse dans Clojure à la question "Obtenez tous les liens sur une page Web".
(->> (slurp "http://www.stroustrup.com")
(re-seq #"(?:http://)?www(?:[./#\+-]\w*)+"))
Sans la macro fantaisie, c'est juste ceci:
(re-seq #"(?:http://)?www(?:[./#\+-]\w*)+" (slurp "http://www.stroustrup.com"))
Cela renvoie la liste:
("http://www.morganstanley.com/" "http://www.cs.columbia.edu/" "http://www.cse.tamu.edu" ...)
Puis-je faire quelque chose de similaire dans Emacs Lisp?
Peut-être qu'une fonction comme (re-seq regexp (buffer-string))celle-là revient '(firstmatch secondmatch thirdmatch ...)?
occur. Je vais devoir regarder à travers sa source.
s.el, mais peut-être y a-t-il plus. Ici: github.com/magnars/s.el#s-match-strings-all-regex-string que diriez-vous?
M-x occurfait, mais je regarderais à l'intérieur pour plus de fonctions de bas niveau pour le faire.