BNF Format for datagram Protocol URI

<datagram_connection_string> ::= "datagram://"<inbound>  | "datagram://"<outbound>
<inbound> ::= empty string | ":" | ":" <portspec>
<outbound> ::= <host> ":" <portspec>
<host> ::= host name | <ipaddr> | <wildcarded_DNS>
<ipaddr> ::= IPv4address | '[' IPv6address ']'
<wildcarded_DNS> ::= "*" *("."<domainlabel>) ;
; "*" followed by zero or more internet domain labels, separated by "."
<domainlabel> ::= internet domain label
<portspec> ::= <portnumber> |  <portrange> | "*"
<portnumber> ::= numeric port number
<portrange> ::= <portnumber> "-" | "-" <portnumber> | <portnumber> "-" <portnumber>

Note that, per RFC 3986, protocol schemes are case-insensitive. The above BNF reflects the normalized form.