रेगुलर एक्सप्रेशन कैरेक्टर्स का एक विशेष क्रम होता है जो पैटर्न में रखे विशेष सिंटैक्स का उपयोग करके अन्य स्ट्रिंग्स या स्ट्रिंग्स के सेट से मिलान या खोज में मदद करता है। इनका उपयोग टेक्स्ट और डेटा को खोजने, संपादित करने या हेरफेर करने के लिए किया जा सकता है। जावा पैटर्न मिलान के लिए रेगुलर एक्सप्रेशन के साथ java.util.regex पैकेज प्रदान करता है।
Matcher क्लास
Matcher ऑब्जेक्ट वह इंजन है जो पैटर्न की व्याख्या करता है और इनपुट स्ट्रिंग के विरुद्ध मिलान ऑपरेशन करता है। Pattern क्लास की तरह, Matcher कोई पब्लिक कंस्ट्रक्टर्स परिभाषित नहीं करता। आप Pattern ऑब्जेक्ट पर matcher() मेथड इनवोक करके Matcher ऑब्जेक्ट प्राप्त करते हैं।
इस क्लास के इंस्टेंसेस मल्टीपल कॉन्करेंट थ्रेड्स द्वारा उपयोग के लिए सुरक्षित नहीं हैं।
उदाहरण
निम्नलिखित जावा प्रोग्राम उपयोगकर्ता से 5 स्ट्रिंग्स स्वीकार करता है और अंक से शुरू होने वाली स्ट्रिंग्स को प्रिंट करता है।
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StartingwithDigit {
public static void main( String args[] ) {
String regex = "^[0-9].*$";
Scanner sc = new Scanner(System.in);
System.out.println("5 इनपुट स्ट्रिंग्स दर्ज करें: ");
String input[] = new String[5];
for (int i=0; i<5; i++) {
input[i] = sc.nextLine();
}
// Pattern ऑब्जेक्ट बनाना
Pattern p = Pattern.compile(regex);
System.out.println("अंक से शुरू होने वाली स्ट्रिंग्स: ");
for(int i=0; i<5;i++) {
// Matcher ऑब्जेक्ट बनाना
Matcher m = p.matcher(input[i]);
if(m.matches()) {
System.out.println(m.group());
}
}
}
}
आउटपुट
5 इनपुट स्ट्रिंग्स दर्ज करें: sample string 1 sample string 2 11 sample string 3 22 sample string 4 43534 56353 636 अंक से शुरू होने वाली स्ट्रिंग्स: 11 sample string 3 22 sample string 4 43534 56353 636