URIParsers
Parses URIs as defined in RFC 3986 and email addresses as defined in RFC 6068, 5322 and 3986 with base types defined in RFC 2234.
Value members
Concrete fields
Parses a single email address as defined in RFC 6068.
Parses a single email address as defined in RFC 6068.
addr-spec = local-part "@" domain
Parses letters according to RFC 2234.
Parses letters according to RFC 2234.
ALPHA = %x41-5A / %x61-7A ; A-Z / a-z
Parses the authority part of a URI as defined in RFC 3986.
Parses the authority part of a URI as defined in RFC 3986.
authority = [ userinfo "@" ] host [ ":" port ]
Parses the domain portion of an email address as defined in RFC 6068.
Parses the domain portion of an email address as defined in RFC 6068.
domain = dot-atom-text / "[" *dtext-no-obs "]"
dtext-no-obs = %d33-90 / ; Printable US-ASCII
%d94-126 ; characters not including
; "[", "]", or "\"
Parses a dot-atom-text
sequence as defined in RFC 5322.
Parses a dot-atom-text
sequence as defined in RFC 5322.
dot-atom-text = 1*atext *("." 1*atext)
atext = ALPHA / DIGIT / ; Printable US-ASCII
"!" / "#" / ; characters not including
"$" / "%" / ; specials. Used for atoms.
"&" / "'" /
"*" / "+" /
"-" / "/" /
"=" / "?" /
"^" / "_" /
"`" / "{" /
"|" / "}" /
"~"
Parses a mailto URI without the scheme part as defined in RFC 6068.
Parses a mailto URI without the scheme part as defined in RFC 6068.
Parses a full mailto URI as defined in RFC 6068.
Parses a full mailto URI as defined in RFC 6068.
mailtoURI = "mailto:" [ to ] [ hfields ]
Parses the fragment part of a URI as defined in RFC 3986.
Parses the fragment part of a URI as defined in RFC 3986.
fragment = *( pchar / "/" / "?" )
Parses a hexadecimal value according to RFC 2234.
Parses a hexadecimal value according to RFC 2234.
HEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F"
Parses header fields of an email address as defined in RFC 6068.
Parses header fields of an email address as defined in RFC 6068.
hfields = "?" hfield *( "&" hfield )
hfield = hfname "=" hfvalue
hfname = *qchar
hfvalue = *qchar
qchar = unreserved / pct-encoded / some-delims
some-delims = "!" / "$" / "'" / "(" / ")" / "*"
/ "+" / "," / ";" / ":" / "@"
Parses the hierarchical part of a URI with an authority component as defined in RFC 3986, but only the variant including an authority component.
Parses the hierarchical part of a URI with an authority component as defined in RFC 3986, but only the variant including an authority component.
hier-part = "//" authority path-abempty
/ path-absolute ; excluded
/ path-rootless ; excluded
/ path-empty ; excluded
Parses a host as defined in RFC 3986.
Parses a host as defined in RFC 3986.
host = IP-literal / IPv4address / reg-name
Parses a full HTTP URI including the scheme part and an authority component as defined in RFC 3986.
Parses a full HTTP URI including the scheme part and an authority component as defined in RFC 3986.
Parses an HTTP or HTTPS URI with an authority component, but without the scheme part (therefore starting with "//") as defined in RFC 3986.
Parses an HTTP or HTTPS URI with an authority component, but without the scheme part (therefore starting with "//") as defined in RFC 3986.
URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
Parses a full HTTPS URI including the scheme part and an authority component as defined in RFC 3986.
Parses a full HTTPS URI including the scheme part and an authority component as defined in RFC 3986.
Parses an ip literal as defined in RFC 3986.
Parses an ip literal as defined in RFC 3986.
IP-literal = "[" ( IPv6address / IPvFuture ) "]"
Parses an IPv4 address as defined in RFC 3986.
Parses an IPv4 address as defined in RFC 3986.
IPv4address = dec-octet "." dec-octet "." dec-octet "." dec-octet
dec-octet = DIGIT ; 0-9
/ %x31-39 DIGIT ; 10-99
/ "1" 2DIGIT ; 100-199
/ "2" %x30-34 DIGIT ; 200-249
/ "25" %x30-35 ; 250-255
The implementation has been simplified to parse a 3-digit number and check its value.
Parses an IPv6 address as defined in RFC 3986.
Parses an IPv6 address as defined in RFC 3986.
IPv6address = 6( h16 ":" ) ls32
/ "::" 5( h16 ":" ) ls32
/ [ h16 ] "::" 4( h16 ":" ) ls32
/ [ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32
/ [ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32
/ [ *3( h16 ":" ) h16 ] "::" h16 ":" ls32
/ [ *4( h16 ":" ) h16 ] "::" ls32
/ [ *5( h16 ":" ) h16 ] "::" h16
/ [ *6( h16 ":" ) h16 ] "::"
h16 = 1*4HEXDIG
ls32 = ( h16 ":" h16 ) / IPv4address
Parses a future IP address as defined in RFC 3986.
Parses a future IP address as defined in RFC 3986.
IPvFuture = "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" )
Parses the local part of an email address (before the @), with one deviation from RFC 6068: a quoted string is not allowed. It is rarely used, not supported by the reStructuredText reference parser and would be hard to combine within text markup as it allows for whitespace and line break characters.
Parses the local part of an email address (before the @), with one deviation from RFC 6068: a quoted string is not allowed. It is rarely used, not supported by the reStructuredText reference parser and would be hard to combine within text markup as it allows for whitespace and line break characters.
local-part = dot-atom-text / quoted-string ; quoted-string omitted
Parses one path character as defined in RFC 3986.
Parses one path character as defined in RFC 3986.
pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
Parses the path of a URI as defined in RFC 3986, but only the path variant following an authority component.
Parses the path of a URI as defined in RFC 3986, but only the path variant following an authority component.
path-abempty = *( "/" segment )
segment = *pchar
Parses a percent-encoded character as defined in RFC 3986.
Parses a percent-encoded character as defined in RFC 3986.
pct-encoded = "%" HEXDIG HEXDIG
Parses a port as defined in RFC 3986, except for requiring at least one digit; instead the port is defined as optional in a higher level combinator.
Parses a port as defined in RFC 3986, except for requiring at least one digit; instead the port is defined as optional in a higher level combinator.
port = *DIGIT
Parses the query part of a URI as defined in RFC 3986.
Parses the query part of a URI as defined in RFC 3986.
query = *( pchar / "/" / "?" )
Parses a server name as defined in RFC 3986.
Parses a server name as defined in RFC 3986.
reg-name = *( unreserved / pct-encoded / sub-delims )
Parses a single sub-delimiter as defined in RFC 3986.
Parses a single sub-delimiter as defined in RFC 3986.
sub-delims = "!" / "$" / "&" / "'" / "(" / ")"
/ "*" / "+" / "," / ";" / "="
Parses a sequence of email addresses as defined in RFC 6068.
Parses a sequence of email addresses as defined in RFC 6068.
to = addr-spec *("," addr-spec )