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.")