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
␉ ␠! #…' *…+ -…. 0…9 A…Z ^…z | ~"(…) , / : < >…@ [ ] { } U+80…U+FF;=\
Translations
Railroad Diagram
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} ;]*))