obter strings de domínio de uri em java

String uri = ” http://foo.bar/spam/ham “;
Domínio da string = nulo;
Padrão p = Padrão
.compile (“https?: / / [-_.! ~ * ‘() A-zA-Z0-9;?: @ & = + $,% #] + /” );
Matcher m = p.matcher (uri);
if (m.find ()) {
domínio = m.grupo (0);
}

assertEquals (” http://foo.bar/ “, domínio);