रेगुलर एक्सप्रेशन कैरेक्टर्स की एक स्ट्रिंग होती है जो इनपुट टेक्स्ट को खोजने के लिए पैटर्न को परिभाषित/बनाती है। एक रेगुलर एक्सप्रेशन में एक या अधिक कैरेक्टर्स हो सकते हैं। रेगुलर एक्सप्रेशन का उपयोग करके आप स्ट्रिंग को खोज या रिप्लेस कर सकते हैं।
जावा पैटर्न मिलान के लिए रेगुलर एक्सप्रेशन के साथ java.util.regex पैकेज प्रदान करता है। इस पैकेज का Pattern क्लास रेगुलर एक्सप्रेशन का कंपाइल्ड रिप्रेजेंटेशन है। स्ट्रिंग के साथ रेगुलर एक्सप्रेशन का मिलान करने के लिए यह क्लास दो मेथड्स प्रदान करती है:
- compile(): यह मेथड रेगुलर एक्सप्रेशन को दर्शाने वाली स्ट्रिंग स्वीकार करता है और Pattern ऑब्जेक्ट लौटाता है।
- matcher(): यह मेथड स्ट्रिंग मान स्वीकार करता है और एक Matcher ऑब्जेक्ट बनाता है जो दी गई स्ट्रिंग का मिलान वर्तमान Pattern ऑब्जेक्ट द्वारा दर्शाए गए पैटर्न से करता है।
उदाहरण
निम्नलिखित जावा प्रोग्राम उपयोगकर्ता से एक स्ट्रिंग स्वीकार करता है, सत्यापित करता है कि इसमें वर्णमाला (दोनों केस) हैं या नहीं। यह अंक भी स्वीकार करता है।
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main( String args[] ) {
String regex = "[a-zA-Z][0-9]?";
Scanner sc = new Scanner(System.in);
System.out.println("एक इनपुट स्ट्रिंग दर्ज करें: ");
String input = sc.nextLine();
// Pattern ऑब्जेक्ट बनाना
Pattern p = Pattern.compile(regex);
// Matcher ऑब्जेक्ट बनाना
Matcher m = p.matcher(input);
if(m.find()) {
System.out.println("मिलान हुआ");
}else {
System.out.println("मिलान नहीं हुआ");
}
}
}
आउटपुट 1
एक इनपुट स्ट्रिंग दर्ज करें: sample text मिलान हुआ
आउटपुट 2
एक इनपुट स्ट्रिंग दर्ज करें: sample text 34 56 मिलान हुआ