From catalog/rfc9110-http.abnf rule: If-Range

Definition

If-Range = entity-tag / HTTP-date

entity-tag = [weak] opaque-tag

weak = %s"W/"

opaque-tag = DQUOTE *etagc DQUOTE

etagc = %x21 / %x23-7e / obs-text

obs-text = %x80-ff

HTTP-date = IMF-fixdate / obs-date

obs-date = rfc850-date / asctime-date

rfc850-date = day-name-l "," SP date2 SP time-of-day SP GMT

day-name-l = %s"Monday" / %s"Tuesday" / %s"Wednesday" / %s"Thursday" / %s"Friday" / %s"Saturday" / %s"Sunday"

date2 = day "-" month "-" 2DIGIT

asctime-date = day-name SP date3 SP time-of-day SP year

date3 = month SP (2DIGIT / (SP DIGIT))

IMF-fixdate = day-name "," SP date1 SP time-of-day SP GMT

time-of-day = hour ":" minute ":" second

second = 2DIGIT

minute = 2DIGIT

hour = 2DIGIT

day-name = %s"Mon" / %s"Tue" / %s"Wed" / %s"Thu" / %s"Fri" / %s"Sat" / %s"Sun"

date1 = day SP month SP year

year = 4DIGIT

month = %s"Jan" / %s"Feb" / %s"Mar" / %s"Apr" / %s"May" / %s"Jun" / %s"Jul" / %s"Aug" / %s"Sep" / %s"Oct" / %s"Nov" / %s"Dec"

day = 2DIGIT

GMT = %s"GMT"

    

Info

Rulename
If-Range
Dependencies
GMT, SP, DIGIT, day, month, year, date1, day-name, hour, minute, second, time-of-day, IMF-fixdate, date3, asctime-date, date2, day-name-l, rfc850-date, obs-date, HTTP-date, DQUOTE, obs-text, etagc, opaque-tag, weak, entity-tag, If-Range
Used Builtins
DIGIT, DQUOTE, SP

Alphabet

Translations

Railroad Diagram

If-Range entity-tag HTTP-date

Swift Regular Expression

"[!#-~\u{80}-\u{FF}]*"|W/"[!#-~\u{80}-\u{FF}]*"|((Fri,|Wed,) [0-9][0-9]( Nov| Aug| Apr| Ju[ln]) [0-9][0-9][0-9][0-9]|(Fri,|Wed,) [0-9][0-9] Oct [0-9][0-9][0-9][0-9]|Th(u, [0-9][0-9]( Nov| Aug| Apr| Ju[ln]) [0-9][0-9][0-9][0-9]|u, [0-9][0-9] Oct [0-9][0-9][0-9][0-9])|((Fri,|Wed,) [0-9][0-9] Ja|Thu, [0-9][0-9] Ja)n [0-9][0-9][0-9][0-9]|(Mo|Su)(n, [0-9][0-9]( Nov| Aug| Apr| Ju[ln]) [0-9][0-9][0-9][0-9]|n, [0-9][0-9] Oct [0-9][0-9][0-9][0-9]|n, [0-9][0-9] Jan [0-9][0-9][0-9][0-9])|(Friday|Thursday|(Mo|Su)nday)(, [0-9][0-9](-Nov|-Aug|-Apr|-Ju[ln]|-Oct)-[0-9][0-9]|, [0-9][0-9]-Dec-[0-9][0-9]|, [0-9][0-9]-Jan-[0-9][0-9])|(Friday|Thursday|(Mo|Su)nday), [0-9][0-9]-Ma[ry]-[0-9][0-9]|((Fri,|Wed,) [0-9][0-9] Ma|Thu, [0-9][0-9] Ma|(Mo|Su)n, [0-9][0-9] Ma)[ry] [0-9][0-9][0-9][0-9]|(Friday|Thursday|(Mo|Su)nday), [0-9][0-9]-Feb-[0-9][0-9]|(Friday|Thursday|(Mo|Su)nday), [0-9][0-9]-Sep-[0-9][0-9]|Tu(e, [0-9][0-9]( Nov| Aug| Apr| Ju[ln]) [0-9][0-9][0-9][0-9]|e, [0-9][0-9] Oct [0-9][0-9][0-9][0-9]|e, [0-9][0-9] Jan [0-9][0-9][0-9][0-9]|esday(, [0-9][0-9](-Nov|-Aug|-Apr|-Ju[ln]|-Oct)-[0-9][0-9]|, [0-9][0-9]-Dec-[0-9][0-9]|, [0-9][0-9]-Jan-[0-9][0-9])|esday, [0-9][0-9]-Ma[ry]-[0-9][0-9]|e, [0-9][0-9] Ma[ry] [0-9][0-9][0-9][0-9]|esday, [0-9][0-9]-Feb-[0-9][0-9]|esday, [0-9][0-9]-Sep-[0-9][0-9])|Wedn(esday(, [0-9][0-9](-Nov|-Aug|-Apr|-Ju[ln]|-Oct)-[0-9][0-9]|, [0-9][0-9]-Dec-[0-9][0-9]|, [0-9][0-9]-Jan-[0-9][0-9])|esday, [0-9][0-9]-Ma[ry]-[0-9][0-9]|esday, [0-9][0-9]-Feb-[0-9][0-9]|esday, [0-9][0-9]-Sep-[0-9][0-9])|((Fri,|Wed,) [0-9][0-9] D|Thu, [0-9][0-9] D|(Mo|Su)n, [0-9][0-9] D|Tue, [0-9][0-9] D)ec [0-9][0-9][0-9][0-9]|((Fri,|Wed,) [0-9][0-9] F|Thu, [0-9][0-9] F|(Mo|Su)n, [0-9][0-9] F|Tue, [0-9][0-9] F)eb [0-9][0-9][0-9][0-9]|((Fri,|Wed,) [0-9][0-9] S|Thu, [0-9][0-9] S|(Mo|Su)n, [0-9][0-9] S|Tue, [0-9][0-9] S)ep [0-9][0-9][0-9][0-9]|Sa(t, [0-9][0-9]( Nov| Aug| Apr| Ju[ln]) [0-9][0-9][0-9][0-9]|t, [0-9][0-9] Oct [0-9][0-9][0-9][0-9]|t, [0-9][0-9] Jan [0-9][0-9][0-9][0-9]|turday(, [0-9][0-9](-Nov|-Aug|-Apr|-Ju[ln]|-Oct)-[0-9][0-9]|, [0-9][0-9]-Dec-[0-9][0-9]|, [0-9][0-9]-Jan-[0-9][0-9])|turday, [0-9][0-9]-Ma[ry]-[0-9][0-9]|t, [0-9][0-9] Ma[ry] [0-9][0-9][0-9][0-9]|turday, [0-9][0-9]-Feb-[0-9][0-9]|turday, [0-9][0-9]-Sep-[0-9][0-9]|t, [0-9][0-9] Dec [0-9][0-9][0-9][0-9]|t, [0-9][0-9] Feb [0-9][0-9][0-9][0-9]|t, [0-9][0-9] Sep [0-9][0-9][0-9][0-9])) [0-9][0-9]:[0-9][0-9]:[0-9][0-9] GMT|(Fr(i Nov|i Aug|i Apr)|Fri Ju[ln]|Wed( Nov| Aug| Apr| Ju[ln])|Th(u( Nov| Aug)|u Apr|u Ju[ln])|(Mo|Su)(n Nov|n Aug|n Apr|n Ju[ln])|(Fri Ja|Wed Ja|Thu Ja|(Mo|Su)n Ja)n|(Fri Ma|Wed Ma|Thu Ma|(Mo|Su)n Ma)[ry]|Tu(e( Nov| Aug| Apr| Ju[ln])|e Jan|e Ma[ry])|(Fri F|Wed F|Thu F|(Mo|Su)n F|Tue F)eb|(Fri S|Wed S|Thu S|(Mo|Su)n S|Tue S)ep|(Fri D|Wed D|Thu D|(Mo|Su)n D|Tue D)ec|Sa(t( Nov| Aug| Apr| Ju[ln])|t Jan|t Ma[ry]|t Feb|t Sep|t Dec)|(Fri Oc|Wed Oc|Thu Oc|(Mo|Su)n Oc|Tue Oc|Sat Oc)t) [ 0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9] [0-9][0-9][0-9][0-9]

POSIX Extended Regular Expression

"[!#-~\u{80}-\u{FF}]*"|W/"[!#-~\u{80}-\u{FF}]*"|((Fri,|Wed,) [0-9][0-9]( Nov| Aug| Apr| Ju[ln]) [0-9][0-9][0-9][0-9]|(Fri,|Wed,) [0-9][0-9] Oct [0-9][0-9][0-9][0-9]|Th(u, [0-9][0-9]( Nov| Aug| Apr| Ju[ln]) [0-9][0-9][0-9][0-9]|u, [0-9][0-9] Oct [0-9][0-9][0-9][0-9])|((Fri,|Wed,) [0-9][0-9] Ja|Thu, [0-9][0-9] Ja)n [0-9][0-9][0-9][0-9]|(Mo|Su)(n, [0-9][0-9]( Nov| Aug| Apr| Ju[ln]) [0-9][0-9][0-9][0-9]|n, [0-9][0-9] Oct [0-9][0-9][0-9][0-9]|n, [0-9][0-9] Jan [0-9][0-9][0-9][0-9])|(Friday|Thursday|(Mo|Su)nday)(, [0-9][0-9](-Nov|-Aug|-Apr|-Ju[ln]|-Oct)-[0-9][0-9]|, [0-9][0-9]-Dec-[0-9][0-9]|, [0-9][0-9]-Jan-[0-9][0-9])|(Friday|Thursday|(Mo|Su)nday), [0-9][0-9]-Ma[ry]-[0-9][0-9]|((Fri,|Wed,) [0-9][0-9] Ma|Thu, [0-9][0-9] Ma|(Mo|Su)n, [0-9][0-9] Ma)[ry] [0-9][0-9][0-9][0-9]|(Friday|Thursday|(Mo|Su)nday), [0-9][0-9]-Feb-[0-9][0-9]|(Friday|Thursday|(Mo|Su)nday), [0-9][0-9]-Sep-[0-9][0-9]|Tu(e, [0-9][0-9]( Nov| Aug| Apr| Ju[ln]) [0-9][0-9][0-9][0-9]|e, [0-9][0-9] Oct [0-9][0-9][0-9][0-9]|e, [0-9][0-9] Jan [0-9][0-9][0-9][0-9]|esday(, [0-9][0-9](-Nov|-Aug|-Apr|-Ju[ln]|-Oct)-[0-9][0-9]|, [0-9][0-9]-Dec-[0-9][0-9]|, [0-9][0-9]-Jan-[0-9][0-9])|esday, [0-9][0-9]-Ma[ry]-[0-9][0-9]|e, [0-9][0-9] Ma[ry] [0-9][0-9][0-9][0-9]|esday, [0-9][0-9]-Feb-[0-9][0-9]|esday, [0-9][0-9]-Sep-[0-9][0-9])|Wedn(esday(, [0-9][0-9](-Nov|-Aug|-Apr|-Ju[ln]|-Oct)-[0-9][0-9]|, [0-9][0-9]-Dec-[0-9][0-9]|, [0-9][0-9]-Jan-[0-9][0-9])|esday, [0-9][0-9]-Ma[ry]-[0-9][0-9]|esday, [0-9][0-9]-Feb-[0-9][0-9]|esday, [0-9][0-9]-Sep-[0-9][0-9])|((Fri,|Wed,) [0-9][0-9] D|Thu, [0-9][0-9] D|(Mo|Su)n, [0-9][0-9] D|Tue, [0-9][0-9] D)ec [0-9][0-9][0-9][0-9]|((Fri,|Wed,) [0-9][0-9] F|Thu, [0-9][0-9] F|(Mo|Su)n, [0-9][0-9] F|Tue, [0-9][0-9] F)eb [0-9][0-9][0-9][0-9]|((Fri,|Wed,) [0-9][0-9] S|Thu, [0-9][0-9] S|(Mo|Su)n, [0-9][0-9] S|Tue, [0-9][0-9] S)ep [0-9][0-9][0-9][0-9]|Sa(t, [0-9][0-9]( Nov| Aug| Apr| Ju[ln]) [0-9][0-9][0-9][0-9]|t, [0-9][0-9] Oct [0-9][0-9][0-9][0-9]|t, [0-9][0-9] Jan [0-9][0-9][0-9][0-9]|turday(, [0-9][0-9](-Nov|-Aug|-Apr|-Ju[ln]|-Oct)-[0-9][0-9]|, [0-9][0-9]-Dec-[0-9][0-9]|, [0-9][0-9]-Jan-[0-9][0-9])|turday, [0-9][0-9]-Ma[ry]-[0-9][0-9]|t, [0-9][0-9] Ma[ry] [0-9][0-9][0-9][0-9]|turday, [0-9][0-9]-Feb-[0-9][0-9]|turday, [0-9][0-9]-Sep-[0-9][0-9]|t, [0-9][0-9] Dec [0-9][0-9][0-9][0-9]|t, [0-9][0-9] Feb [0-9][0-9][0-9][0-9]|t, [0-9][0-9] Sep [0-9][0-9][0-9][0-9])) [0-9][0-9]:[0-9][0-9]:[0-9][0-9] GMT|(Fr(i Nov|i Aug|i Apr)|Fri Ju[ln]|Wed( Nov| Aug| Apr| Ju[ln])|Th(u( Nov| Aug)|u Apr|u Ju[ln])|(Mo|Su)(n Nov|n Aug|n Apr|n Ju[ln])|(Fri Ja|Wed Ja|Thu Ja|(Mo|Su)n Ja)n|(Fri Ma|Wed Ma|Thu Ma|(Mo|Su)n Ma)[ry]|Tu(e( Nov| Aug| Apr| Ju[ln])|e Jan|e Ma[ry])|(Fri F|Wed F|Thu F|(Mo|Su)n F|Tue F)eb|(Fri S|Wed S|Thu S|(Mo|Su)n S|Tue S)ep|(Fri D|Wed D|Thu D|(Mo|Su)n D|Tue D)ec|Sa(t( Nov| Aug| Apr| Ju[ln])|t Jan|t Ma[ry]|t Feb|t Sep|t Dec)|(Fri Oc|Wed Oc|Thu Oc|(Mo|Su)n Oc|Tue Oc|Sat Oc)t) [ 0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9] [0-9][0-9][0-9][0-9]