Java Regex: Comment faire Correspondre l'adresse de l'URL?
Je suis en train d'extraire la première partie du chemin d'accès de l'URL. Par exemple: à partir de http://foo.com/bar/1/2/3
je veux extraire bar
. Ici c'est le code que j'utilise:
private static String getFirstPartOfPath(String url)
{
Pattern pattern = Pattern.compile("^https?://[^/]+/([^/]+)/*$");
Matcher matcher = pattern.matcher(url);
if(matcher.find())
{
System.out.println(matcher.group(1));
}
return null;
}
Cependant, cela ne correspond pas à la plus triviale url indiquée ci-dessus, comme dans
public static void main(String[] args)
{
getFirstPartOfPath("http://foo.com/bar/1/2/3");
}
imprime rien. Au premier coup d'œil la chaîne de modèle semble clair et comme il se doit évidemment de travail. Ce qui ne va pas?
Vous devez vous connecter pour publier un commentaire.
Ne correspondant pas parce que ta regex n'est pas correct. Vous avez
/*
en fin de compte c'est pas le même que/.*
.Utiliser cette regex:
Ou de retirer un point d'ancrage
$
: