I am trying to extract the first part of the path of a URL. For example: from http://foo.com/bar/1/2/3 I want to extract bar. Here is the code I am using:
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;
}
However, this does not match the most trivial url listed above, as in
public static void main(String[] args)
{
getFirstPartOfPath("http://foo.com/bar/1/2/3");
}
prints nothing. At first glance the pattern string seems clear and like it should obviously work. What is going wrong?