From catalog/rfc9110-http.abnf rule: media-range

Definition

media-range = ("*/*" / (type "/" "*") / (type "/" subtype)) parameters

type = token

subtype = token

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
media-range
Dependencies
HTAB, SP, OWS, ALPHA, DIGIT, tchar, token, parameter-name, DQUOTE, obs-text, qdtext, VCHAR, quoted-pair, quoted-string, parameter-value, parameter, parameters, subtype, type, media-range
Used Builtins
ALPHA, DIGIT, DQUOTE, HTAB, SP, VCHAR

Alphabet

Translations

Railroad Diagram

media-range */* type / * type / subtype parameters

Swift Regular Expression

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

POSIX Extended Regular Expression

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