Uso RegexBuddy mentre lavoro con le espressioni regolari. Dalla sua libreria ho copiato l'espressione regolare per abbinare gli URL. Ho provato con successo in RegexBuddy. Tuttavia, quando l'ho copiato come versione Java String
e l'ho incollato nel codice Java, non funziona. Viene stampata la seguente classe false
:
public class RegexFoo {
public static void main(String[] args) {
String regex = "\\b(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|]";
String text = "http://google.com";
System.out.println(IsMatch(text,regex));
}
private static boolean IsMatch(String s, String pattern) {
try {
Pattern patt = Pattern.compile(pattern);
Matcher matcher = patt.matcher(s);
return matcher.matches();
} catch (RuntimeException e) {
return false;
}
}
}
Qualcuno sa cosa sto sbagliando?