&#39; | &#39;=&#39; | ) partial
partial    ::= xr ( &#39;.&#39; xr ( &#39;.&#39; xr qualifier ? )? )?
xr         ::= &#39;x&#39; | &#39;X&#39; | &#39;*&#39; | nr
nr         ::= &#39;0&#39; | [&#39;1&#39;-&#39;9&#39;][&#39;0&#39;-&#39;9&#39;]+
tilde      ::= &#39;~&#39; partial
caret      ::= &#39;^&#39; partial
qualifier  ::= ( &#39;-&#39; pre )? ( &#39;+&#39; build )?
pre        ::= parts
build      ::= parts
parts      ::= part ( &#39;.&#39; part ) *
part       ::= nr | [-0-9A-Za-z]+
</code></pre>
<h2 id=