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