/*
Separar una URL en sus partes
https://es.stackoverflow.com/q/131417/127
*/
import java.util.regex.Pattern;
import java.util.regex.Matcher;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
String prueba
= "http://w...content-available-to-author-only...g.org/forum/index.php";
//Variables para el regex
final String regex
= "^(?:([^:]*):(?://)?)?([^/]*)(/.*)?"; final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(prueba);
//Ver si coincide el regex
if (matcher.find()) {
//Obtener el texto capturado por cada conjunto de paréntesis
String protocolo
= matcher.
group(1); String dominio
= matcher.
group(2); String ruta
= matcher.
group(3);
System.
out.
println("protocolo = " + protocolo
); System.
out.
println("dominio = " + dominio
); System.
out.
println("ruta = " + ruta
); }
}
}
LyoKICAgIFNlcGFyYXIgdW5hIFVSTCBlbiBzdXMgcGFydGVzCiAgICBodHRwczovL2VzLnN0YWNrb3ZlcmZsb3cuY29tL3EvMTMxNDE3LzEyNwoqLwoKaW1wb3J0IGphdmEudXRpbC5yZWdleC5QYXR0ZXJuOwppbXBvcnQgamF2YS51dGlsLnJlZ2V4Lk1hdGNoZXI7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCVN0cmluZyBwcnVlYmEgPSAiaHR0cDovL3cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmcub3JnL2ZvcnVtL2luZGV4LnBocCI7CgkJCgkJLy9WYXJpYWJsZXMgcGFyYSBlbCByZWdleAoJCWZpbmFsIFN0cmluZyByZWdleCA9ICJeKD86KFteOl0qKTooPzovLyk/KT8oW14vXSopKC8uKik/IjsKCQlmaW5hbCBQYXR0ZXJuIHBhdHRlcm4gPSBQYXR0ZXJuLmNvbXBpbGUocmVnZXgpOwoJCWZpbmFsIE1hdGNoZXIgbWF0Y2hlciA9IHBhdHRlcm4ubWF0Y2hlcihwcnVlYmEpOwoJCQoJCS8vVmVyIHNpIGNvaW5jaWRlIGVsIHJlZ2V4CgkJaWYgKG1hdGNoZXIuZmluZCgpKSB7CgkJCS8vT2J0ZW5lciBlbCB0ZXh0byBjYXB0dXJhZG8gcG9yIGNhZGEgY29uanVudG8gZGUgcGFyw6ludGVzaXMKCQkJU3RyaW5nIHByb3RvY29sbyA9IG1hdGNoZXIuZ3JvdXAoMSk7CgkJCVN0cmluZyBkb21pbmlvICAgPSBtYXRjaGVyLmdyb3VwKDIpOwoJCQlTdHJpbmcgcnV0YSAgICAgID0gbWF0Y2hlci5ncm91cCgzKTsKCQkJCgkJCVN5c3RlbS5vdXQucHJpbnRsbigicHJvdG9jb2xvID0gIiArIHByb3RvY29sbyk7CgkJCVN5c3RlbS5vdXQucHJpbnRsbigiZG9taW5pbyAgID0gIiArIGRvbWluaW8pOwoJCQlTeXN0ZW0ub3V0LnByaW50bG4oInJ1dGEgICAgICA9ICIgKyBydXRhKTsKCQl9Cgl9Cn0=