Tôi sử dụng RegexBuddy trong khi làm việc với các biểu thức chính quy. Từ thư viện của nó, tôi đã sao chép biểu thức chính quy để khớp với các URL. Tôi đã thử nghiệm thành công trong RegexBuddy. Tuy nhiên, khi tôi sao chép nó dưới dạng String
hương vị Java và dán nó vào mã Java, nó không hoạt động. Lớp sau in 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;
}
}
}
Có ai biết tôi đang làm gì sai không?