रेगुलर एक्सप्रेशन वर्णों की एक स्ट्रिंग है जो एक इनपुट टेक्स्ट को खोजने के लिए एक पैटर्न को परिभाषित/रूपित करता है। रेगुलर एक्सप्रेशन में एक या अधिक वर्ण हो सकते हैं, रेगुलर एक्सप्रेशन का उपयोग करके आप स्ट्रिंग को खोज या बदल सकते हैं।
जावा नियमित अभिव्यक्तियों के साथ पैटर्न मिलान के लिए java.util.regex पैकेज प्रदान करता है। इस पैकेज में वे तीन वर्ग हैं -
- पैटर्न वर्ग: पैटर्न इस पैकेज का वर्ग नियमित अभिव्यक्ति का संकलित प्रतिनिधित्व है। स्ट्रिंग के साथ रेगुलर एक्सप्रेशन का मिलान करने के लिए यह वर्ग दो तरीके प्रदान करता है:
- संकलित करें(): यह विधि एक नियमित अभिव्यक्ति का प्रतिनिधित्व करने वाली स्ट्रिंग को स्वीकार करती है और पैटर्न ऑब्जेक्ट का ऑब्जेक्ट लौटाती है।
- मिलान करने वाला (): यह विधि एक स्ट्रिंग मान को स्वीकार करती है और एक मैचर ऑब्जेक्ट बनाती है जो दिए गए स्ट्रिंग से वर्तमान पैटर्न ऑब्जेक्ट द्वारा दर्शाए गए पैटर्न से मेल खाती है।
- द मैचर java.util.regex पैकेज का वर्ग एक इंजन है जो मैच संचालन करता है। मिलान किए गए मान को खोजने के लिए आपको इस वर्ग के दो तरीकों का उपयोग करने की आवश्यकता है:
- ढूंढें (): यदि वर्तमान ऑब्जेक्ट द्वारा दर्शाया गया मिलान ऑपरेशन सफल होता है, तो यह विधि सही हो जाती है, यह गलत है।
- समूह () :यह विधि किसी विशेष समूह का प्रतिनिधित्व करने वाले पूर्णांक मान को स्वीकार करती है और मैच ऑपरेशन में निर्दिष्ट समूह द्वारा कैप्चर किए गए अनुक्रम को लौटाती है।
- पैटर्न सिंटैक्स अपवाद - PatternSyntaxException ऑब्जेक्ट एक अनियंत्रित अपवाद है जो रेगुलर एक्सप्रेशन पैटर्न में सिंटैक्स त्रुटि को इंगित करता है।
उदाहरण
आयात करें ।में); System.out.println ("इनपुट स्ट्रिंग दर्ज करें:"); स्ट्रिंग इनपुट =sc.nextLine (); स्ट्रिंग रेगेक्स ="[^\\p{ASCII}]"; // एक पैटर्न ऑब्जेक्ट बनाना पैटर्न पैटर्न =Pattern.compile(regex); // स्ट्रिंग मैचर मैचर =पैटर्न.मैचर (इनपुट) में संकलित पैटर्न का मिलान करना; // एक खाली स्ट्रिंग बफर बनाना StringBuffer sb =new StringBuffer (); जबकि (matcher.find ()) {matcher.appendReplacement(sb, ""); } matcher.appendTail(sb); System.out.println ("परिणाम:\ n" + sb.toString ()); }}आउटपुट
इनपुट स्ट्रिंग दर्ज करें:हम किसमें गिरते हैंपरिणाम:हम किसमें गिरते हैं
उदाहरण
आयात करें ।में); System.out.println ("इनपुट टेक्स्ट दर्ज करें:"); स्ट्रिंग इनपुट =sc.nextLine (); स्ट्रिंग रेगेक्स ="[टी]"; // एक पैटर्न ऑब्जेक्ट बनाना पैटर्न पैटर्न =Pattern.compile(regex); // स्ट्रिंग मैचर मैचर =पैटर्न.मैचर (इनपुट) में संकलित पैटर्न का मिलान करना; इंट काउंट =0; जबकि (matcher.find ()) { int start =matcher.start (); System.out.println (प्रारंभ); } }}आउटपुट
इनपुट टेक्स्ट दर्ज करें:नमस्कार, Tutorialspoint263142 में आपका स्वागत कैसे है