Variable: rcirc-process-regexp
rcirc-process-regexp is a variable defined in rcirc.el.gz.
Value
"^\\(?:@\\(\\+?\\(?:[[:alnum:]-]+\\(?:\\.[[:alnum:]-]+\\)+/\\)?[[:alnum:]-]+\\(?:=[^\n
;]*\\)?\\(?:;\\+?\\(?:[[:alnum:]-]+\\(?:\\.[[:alnum:]-]+\\)+/\\)?[[:alnum:]-]+\\(?:=[^\n
;]*\\)?\\)*\\)[[:space:]]+\\)?\\(:\\([^ ]+\\) \\)?\\([^ ]+\\)"
Documentation
Regular expression used for parsing server response.
Source Code
;; Defined in /usr/src/emacs/lisp/net/rcirc.el.gz
(defconst rcirc-process-regexp
(rx-let ((message-tag ; message tags as specified in
; https://ircv3.net/specs/extensions/message-tags
(: (? "+")
(? (+ (or alnum "-")) (+ "." (+ (or alnum "-"))) "/")
(+ (any alnum "-"))
(? "="
(* (not (any 0 ?\n ?\r ?\; ?\s)))))))
(rx line-start
(optional "@" (group message-tag (* ";" message-tag)) (+ space))
;; See https://tools.ietf.org/html/rfc2812#section-2.3.1.
;; We're a bit more accepting than the RFC: We allow any non-space
;; characters in the command name, multiple spaces between
;; arguments, and allow the last argument to omit the leading ":",
;; even if there are less than 15 arguments.
(optional
(group ":" (group (one-or-more (not (any " ")))) " "))
(group (one-or-more (not (any " "))))))
"Regular expression used for parsing server response.")