Saya menggunakan RegexBuddy saat bekerja dengan ekspresi reguler. Dari perpustakaannya saya menyalin ekspresi reguler untuk mencocokkan URL. Saya berhasil menguji dalam RegexBuddy. Namun, ketika saya menyalinnya sebagai String
flavor Java dan menempelkannya ke kode Java, itu tidak berfungsi. Cetakan kelas berikut 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;
}
}
}
Adakah yang tahu apa yang saya lakukan salah?