From catalog/rfc9110-http.abnf rule: expectation

Definition

expectation = token ["=" (token / quoted-string) parameters]

parameters = *(OWS ";" OWS [parameter])

parameter = parameter-name "=" parameter-value

parameter-value = (token / quoted-string)

quoted-string = DQUOTE *(qdtext / quoted-pair) DQUOTE

quoted-pair = "\" (HTAB / SP / VCHAR / obs-text)

qdtext = HTAB / SP / %x21 / %x23-5b / %x5d-7e / obs-text

obs-text = %x80-ff

parameter-name = token

token = 1*tchar

tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~" / DIGIT / ALPHA

OWS = *(SP / HTAB)

    

Info

Rulename
expectation
Dependencies
HTAB, SP, OWS, ALPHA, DIGIT, tchar, token, parameter-name, DQUOTE, obs-text, qdtext, VCHAR, quoted-pair, quoted-string, parameter-value, parameter, parameters, expectation
Used Builtins
ALPHA, DIGIT, DQUOTE, HTAB, SP, VCHAR

Alphabet

Translations

Railroad Diagram

expectation token = token quoted-string parameters

Swift Regular Expression

[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[!#-'*-+\--.0-9A-Z\^-z|~]([!#-'*-+\--.0-9A-Z\^-z|~]|;[\u{9} ;]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[!#-'*-+\--.0-9A-Z\^-z|~])*(|;[\u{9} ;]*)|([!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=("[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*"|"[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\([\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\)*[\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*")|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[!#-'*-+\--.0-9A-Z\^-z|~]([!#-'*-+\--.0-9A-Z\^-z|~]|;[\u{9} ;]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[!#-'*-+\--.0-9A-Z\^-z|~])*([\u{9} ]|;[\u{9} ;]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=("[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*"|"[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\([\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\)*[\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*")))([\u{9} ]|;[\u{9} ;]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=("[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*"|"[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\([\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\)*[\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*")|;[\u{9} ;]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[!#-'*-+\--.0-9A-Z\^-z|~]([!#-'*-+\--.0-9A-Z\^-z|~]|;[\u{9} ;]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[!#-'*-+\--.0-9A-Z\^-z|~])*([\u{9} ]|;[\u{9} ;]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=("[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*"|"[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\([\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\)*[\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*")))*(|;[\u{9} ;]*|;[\u{9} ;]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[!#-'*-+\--.0-9A-Z\^-z|~]([!#-'*-+\--.0-9A-Z\^-z|~]|;[\u{9} ;]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[!#-'*-+\--.0-9A-Z\^-z|~])*(|;[\u{9} ;]*))

POSIX Extended Regular Expression

[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[!#-'*-+\--.0-9A-Z\^-z|~]([!#-'*-+\--.0-9A-Z\^-z|~]|;[\u{9} ;]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[!#-'*-+\--.0-9A-Z\^-z|~])*(|;[\u{9} ;]*)|([!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=("[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*"|"[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\([\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\)*[\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*")|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[!#-'*-+\--.0-9A-Z\^-z|~]([!#-'*-+\--.0-9A-Z\^-z|~]|;[\u{9} ;]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[!#-'*-+\--.0-9A-Z\^-z|~])*([\u{9} ]|;[\u{9} ;]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=("[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*"|"[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\([\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\)*[\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*")))([\u{9} ]|;[\u{9} ;]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=("[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*"|"[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\([\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\)*[\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*")|;[\u{9} ;]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[!#-'*-+\--.0-9A-Z\^-z|~]([!#-'*-+\--.0-9A-Z\^-z|~]|;[\u{9} ;]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[!#-'*-+\--.0-9A-Z\^-z|~])*([\u{9} ]|;[\u{9} ;]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=("[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*"|"[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\([\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\)*[\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*")))*(|;[\u{9} ;]*|;[\u{9} ;]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[!#-'*-+\--.0-9A-Z\^-z|~]([!#-'*-+\--.0-9A-Z\^-z|~]|;[\u{9} ;]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[!#-'*-+\--.0-9A-Z\^-z|~])*(|;[\u{9} ;]*))