Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

इनपुट के विरुद्ध एकाधिक रेगेक्स पैटर्न कैसे जांचें? जावा का उपयोग करना।

"|" मेटा कैरेक्टर: मेटा कैरेक्टर "|" जावा में रेगुलर एक्सप्रेशन आपको एक से अधिक रेगुलर एक्सप्रेशन से मिलान करने की अनुमति देता है उदाहरण के लिए यदि आपको एक विशेष इनपुट टेक्स्ट को एक से अधिक एक्सप्रेशन से मिलान करने की आवश्यकता है तो आपको इसका उपयोग करके उन्हें अलग करने की आवश्यकता है:

exp1|exp2|exp3

उदाहरण

आयात करें ।में); System.out.println ("अपना इनपुट दर्ज करें:"); स्ट्रिंग इनपुट =sc.nextLine (); // नियमित अभिव्यक्ति स्ट्रिंग रेगेक्स ="\\d{10}|^[aeiou]"; // एक पैटर्न ऑब्जेक्ट बनाना पैटर्न पैटर्न =Pattern.compile(regex); // एक मैचर ऑब्जेक्ट बनाना मैचर मैचर =पैटर्न। मैचर (इनपुट); if(matcher.find ()) { System.out.println (इनपुट + "वैध है"); }else { System.out.println (इनपुट + "मान्य नहीं है"); } }}

आउटपुट 1

अपना इनपुट दर्ज करें:98480332289848033228 मान्य है

आउटपुट 2

अपना इनपुट दर्ज करें:एक सेब एक दिन डॉक्टर को दूर रखता है और एक सेब एक दिन डॉक्टर को दूर रखता है मान्य है

सूची वस्तु का उपयोग करना

एक और समाधान यह है कि आप अलग-अलग पैटर्न ऑब्जेक्ट्स का उपयोग करके सभी नियमित अभिव्यक्तियों को संकलित करते हैं और उन्हें एक सूची ऑब्जेक्ट में जोड़ते हैं और इनपुट टेक्स्ट पर मिलान को -

के रूप में ढूंढते हैं।
सूची सूची =नई ArrayList<>();list.add(Pattern.compile(regex1));list.add(Pattern.compile(regex2)); के लिए (पैटर्न पैटर्न:सूची) { Matcher matcher =pattern. मैचर (इनपुट); अगर (मैचर.फाइंड ()) {। . . . . . . . . . . . . . . }वरना { । . . . . . . . . . . . . . . }}

उदाहरण

आयात करें (स्ट्रिंग [] args) {स्कैनर sc =नया स्कैनर (System.in); System.out.println ("अपना इनपुट दर्ज करें:"); स्ट्रिंग इनपुट =sc.nextLine (); // नियमित अभिव्यक्ति स्ट्रिंग regex1 ="\\d{10}"; स्ट्रिंग रेगेक्स2 ="^ [एईओयू]"; // एक पैटर्न ऑब्जेक्ट बनाना पैटर्न Pattern1 =Pattern.compile(regex1); पैटर्न पैटर्न 2 =पैटर्न। संकलन (रेगेक्स 2); // एक सूची वस्तु सूची बनाना <पैटर्न> पैटर्न =नया ArrayList<>(); पैटर्न। जोड़ें (पैटर्न 1); पैटर्न। जोड़ें (पैटर्न 2); के लिए (पैटर्न पैटर्न:पैटर्न) {मैचर मैचर =पैटर्न। मैचर (इनपुट); if(matcher.find ()) { System.out.println ("रेगेक्स के लिए "+pattern.pattern ()+" "+ इनपुट +" मान्य है"); } और { System.out.println ("रेगेक्स के लिए "+pattern.pattern ()+" "+ इनपुट +" मान्य नहीं है"); } } }}

आउटपुट 1

अपना इनपुट दर्ज करें:9848033228 रेगेक्स के लिए \d{10} 9848033228 मान्य है रेगेक्स के लिए ^[aeiou] 9848033228 मान्य नहीं है

आउटपुट 2

अपना इनपुट दर्ज करें:एक सेब एक दिन डॉक्टर को दूर रखता हैरेगेक्स के लिए \d{10} एक सेब एक दिन डॉक्टर को दूर रखता है मान्य नहीं है रेगेक्स के लिए ^[aeiou] एक सेब एक दिन डॉक्टर को दूर रखता है मान्य है

  1. Java RegEx का उपयोग करके वर्णों के एक निश्चित सेट का मिलान कैसे करें

    वर्ण वर्ग आपको वर्णों के एक निश्चित सेट से एकल वर्ण को स्वीकार करने की अनुमति देते हैं। उदाहरण के लिए, अभिव्यक्ति “[tmp] ” अक्षर t या, m या, p से मेल खाता है। अभिव्यक्ति “[^tp] टी या, पी के अलावा अन्य वर्णों से मेल खाता है। उदाहरण 1 आयात करें .out.println (एक स्ट्रिंग दर्ज करें); स्कैनर एसस

  1. जावा में रेगेक्स का उपयोग करके MM-DD-YYYY जैसे दिए गए दिनांक स्वरूपों को कैसे मान्य करें?

    जावा का java.util.regex पैकेज चरित्र अनुक्रमों में विशेष पैटर्न खोजने के लिए विभिन्न वर्ग प्रदान करता है। पैटर्न इस पैकेज का वर्ग नियमित अभिव्यक्ति का संकलित प्रतिनिधित्व है। स्ट्रिंग के साथ रेगुलर एक्सप्रेशन का मिलान करने के लिए यह वर्ग दो तरीके प्रदान करता है - संकलित करें () - यह विधि एक नियम

  1. जावा में रेगेक्स का उपयोग करके स्ट्रिंग से HTML टैग कैसे निकालें?

    जावा का java.util.regex पैकेज चरित्र अनुक्रमों में विशेष पैटर्न खोजने के लिए विभिन्न वर्ग प्रदान करता है। पैटर्न इस पैकेज का वर्ग नियमित अभिव्यक्ति का संकलित प्रतिनिधित्व है। स्ट्रिंग के साथ रेगुलर एक्सप्रेशन का मिलान करने के लिए यह वर्ग दो तरीके प्रदान करता है - संकलित करें () - यह विधि एक नियम