मैं रेग्युलर एक्सप्रेशंस के साथ काम करते हुए रेगेक्सबॉडी का उपयोग करता हूं। इसकी लाइब्रेरी से मैंने यूआरएल से मिलान करने के लिए नियमित अभिव्यक्ति की नकल की। मैंने RegexBuddy के भीतर सफलतापूर्वक परीक्षण किया। हालाँकि, जब मैंने इसे जावा String
फ्लेवर के रूप में कॉपी किया और जावा कोड में पेस्ट किया, तो यह काम नहीं करता। निम्नलिखित वर्ग प्रिंट 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;
}
}
}
क्या कोई जानता है कि मुझसे क्या गलती हो रही है?