Get rid of whitespace in a pattern rule
<p>I have the following pattern rule:</p>

<pre><code>static List&lt;String&gt; fetchUrls( String tweet ) {
     List&lt;String&gt; url = new ArrayList&lt;String&gt;();
     Pattern p = Pattern.compile( "(?:^|[\\W])((ht|f)tp(s?):\\/\\/|www\\.)" + "(([\\w\\-]+\\.){1,}?([\\w\\-.~]+\\/?)*" + "[\\p{Alnum}.,%_=?&amp;#\\-+()\\[\\]\\*$~@!:/{};']*)");
     Matcher matcher = p.matcher( tweet );

     while ( matcher.find() ) {
         url.add( matcher.group() ); // When an URL is detected, we add it to the Array List
     }

     return url;
}
</code></pre>

<p>However, when I print a string representation of the <code>ArrayList</code>, I have a whitespace before the first url. How can I get rid of this whitespace? </p>