From catalog/rfc9110-http.abnf rule: Range

Definition

Range = ranges-specifier

ranges-specifier = range-unit "=" range-set

range-unit = token

token = 1*tchar

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

range-set = 1*range-spec

range-spec = int-range / suffix-range / other-range

suffix-range = "-" suffix-length

suffix-length = 1*DIGIT

other-range = 1*(%x21-2b / %x2d-7e)

int-range = first-pos "-" [last-pos]

last-pos = 1*DIGIT

first-pos = 1*DIGIT

    

Info

Rulename
Range
Dependencies
DIGIT, first-pos, last-pos, int-range, other-range, suffix-length, suffix-range, range-spec, range-set, ALPHA, tchar, token, range-unit, ranges-specifier, Range
Used Builtins
ALPHA, DIGIT

Alphabet

Translations

Railroad Diagram

Range ranges-specifier

Swift Regular Expression

[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[!-+.-/:-~][!-+.-/:-~]*|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[0-9][0-9]*(|-(|[0-9][0-9]*)|-[!-+\--/:-~][!-+.-/:-~]*)|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=-(|[0-9][0-9]*|(-|[0-9][0-9]*[!-+\--/:-~])[!-+.-/:-~]*)|([!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[0-9][0-9]*([!-+.-/:-~]|-[0-9][0-9]*[!-+\--/:-~])|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=-[!-+.-/:-~])([!-+.-/:-~]|-([!-+.-/:-~]|[0-9][0-9]*[!-+\--/:-~]))*(|-(|[0-9][0-9]*|-[!-+.-/:-~]*))|([!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[!-+.-/:-~][!-+.-/:-~]*[\-0-9]|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[0-9][0-9]*-[!-+\--/:-~][!-+.-/:-~]*[\-0-9]|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=-(-|[0-9][0-9]*[!-+\--/:-~])[!-+.-/:-~]*[\-0-9]|([!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[0-9][0-9]*([!-+.-/:-~]|-[0-9][0-9]*[!-+\--/:-~])|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=-[!-+.-/:-~])([!-+.-/:-~]|-([!-+.-/:-~]|[0-9][0-9]*[!-+\--/:-~]))*([0-9]|--[!-+.-/:-~]*[\-0-9]))([!-+\--~][!-+.-/:-~]*[\-0-9])*(|[!-+\--~][!-+.-/:-~]*)

POSIX Extended Regular Expression

[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[!-+.-/:-~][!-+.-/:-~]*|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[0-9][0-9]*(|-(|[0-9][0-9]*)|-[!-+\--/:-~][!-+.-/:-~]*)|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=-(|[0-9][0-9]*|(-|[0-9][0-9]*[!-+\--/:-~])[!-+.-/:-~]*)|([!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[0-9][0-9]*([!-+.-/:-~]|-[0-9][0-9]*[!-+\--/:-~])|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=-[!-+.-/:-~])([!-+.-/:-~]|-([!-+.-/:-~]|[0-9][0-9]*[!-+\--/:-~]))*(|-(|[0-9][0-9]*|-[!-+.-/:-~]*))|([!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[!-+.-/:-~][!-+.-/:-~]*[\-0-9]|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[0-9][0-9]*-[!-+\--/:-~][!-+.-/:-~]*[\-0-9]|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=-(-|[0-9][0-9]*[!-+\--/:-~])[!-+.-/:-~]*[\-0-9]|([!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=[0-9][0-9]*([!-+.-/:-~]|-[0-9][0-9]*[!-+\--/:-~])|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*=-[!-+.-/:-~])([!-+.-/:-~]|-([!-+.-/:-~]|[0-9][0-9]*[!-+\--/:-~]))*([0-9]|--[!-+.-/:-~]*[\-0-9]))([!-+\--~][!-+.-/:-~]*[\-0-9])*(|[!-+\--~][!-+.-/:-~]*)