From catalog/rfc3986-uri.abnf rule: path

Definition

path = path-abempty / path-absolute / path-noscheme / path-rootless / path-empty

path-rootless = segment-nz *("/" segment)

path-noscheme = segment-nz-nc *("/" segment)

segment-nz-nc = 1*(unreserved / pct-encoded / sub-delims / "@")

path-empty = ""

path-absolute = "/" [segment-nz *("/" segment)]

segment-nz = 1*pchar

path-abempty = *("/" segment)

segment = *pchar

pchar = unreserved / pct-encoded / sub-delims / ":" / "@"

unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"

sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="

pct-encoded = "%" HEXDIG HEXDIG

    

Info

Rulename
path
Dependencies
HEXDIG, pct-encoded, sub-delims, ALPHA, DIGIT, unreserved, pchar, segment, path-abempty, segment-nz, path-absolute, path-empty, segment-nz-nc, path-noscheme, path-rootless, path
Used Builtins
ALPHA, DIGIT, HEXDIG

Alphabet

Translations

Railroad Diagram

path path-abempty path-absolute path-noscheme path-rootless path-empty

Swift Regular Expression

|:([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f][0-9A-Fa-f])*|/(|([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f][0-9A-Fa-f])([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f][0-9A-Fa-f])*)|([!$&-.0-9;=@-Z_a-z~]|%[0-9A-Fa-f][0-9A-Fa-f])([!$&-.0-9;=@-Z_a-z~]|%[0-9A-Fa-f][0-9A-Fa-f])*(|[/:]([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f][0-9A-Fa-f])*)

POSIX Extended Regular Expression

|:([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f][0-9A-Fa-f])*|/(|([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f][0-9A-Fa-f])([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f][0-9A-Fa-f])*)|([!$&-.0-9;=@-Z_a-z~]|%[0-9A-Fa-f][0-9A-Fa-f])([!$&-.0-9;=@-Z_a-z~]|%[0-9A-Fa-f][0-9A-Fa-f])*(|[/:]([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f][0-9A-Fa-f])*)