정규식으로 작업하는 동안 RegexBuddy를 사용합니다. 라이브러리에서 URL과 일치하도록 정규식을 복사했습니다. RegexBuddy에서 성공적으로 테스트했습니다. 그러나 Java String
플레이버 로 복사 하여 Java 코드에 붙여 넣으면 작동하지 않습니다. 다음 클래스는 다음을 인쇄합니다 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;
}
}
}
내가 뭘 잘못하고 있는지 아는 사람이 있습니까?