(defvar my-vandusen-paste-re (rx bol " \"" (group (+ any)) "\" pasted \"" (group (+ any)) "\" " (group (+ any)) eol)) (defun my-report-spam () (interactive) (save-excursion (re-search-backward my-vandusen-paste-re nil t)) (let ((url (match-string 3))) (when url (let ((id (cadr (split-string url "paste\\?id=")))) (insert "vandusen: spam " id))))) ;; usage: use M-x my-report-spam in an IRC buffer, then hit RET