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

जावा में पैटर्न मिलान के लिए नियमित अभिव्यक्ति का उपयोग कैसे करें?

रेगुलर एक्सप्रेशन वर्णों की एक स्ट्रिंग है जो एक इनपुट टेक्स्ट को खोजने के लिए एक पैटर्न को परिभाषित/रूपित करता है। रेगुलर एक्सप्रेशन में एक या अधिक वर्ण हो सकते हैं, रेगुलर एक्सप्रेशन का उपयोग करके आप स्ट्रिंग को खोज या बदल सकते हैं।

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

  • संकलित करें(): यह विधि एक नियमित अभिव्यक्ति का प्रतिनिधित्व करने वाली स्ट्रिंग को स्वीकार करती है और पैटर्न ऑब्जेक्ट का ऑब्जेक्ट लौटाती है।
  • मिलान करने वाला (): यह विधि एक स्ट्रिंग मान को स्वीकार करती है और एक मैचर ऑब्जेक्ट बनाती है जो दिए गए स्ट्रिंग से वर्तमान पैटर्न ऑब्जेक्ट द्वारा दर्शाए गए पैटर्न से मेल खाती है।

उदाहरण

निम्नलिखित जावा प्रोग्राम उपयोगकर्ता से एक स्ट्रिंग स्वीकार करता है, यह सत्यापित करता है कि इसमें वर्णमाला है (दोनों मामलों में), यह अंकों को भी स्वीकार करता है।

आयात करें जेडए-जेड] [0-9]?"; स्कैनर एससी =नया स्कैनर (System.in); System.out.println ("एक इनपुट स्ट्रिंग दर्ज करें:"); स्ट्रिंग इनपुट =sc.nextLine (); // एक पैटर्न ऑब्जेक्ट बनाना पैटर्न p =Pattern.compile(regex); // मैचर ऑब्जेक्ट बनाना मैचर एम =पी.मैचर (इनपुट); if(m.find ()) { System.out.println ("मैच हुआ"); }else { System.out.println ("मैच नहीं हुआ"); } }}

आउटपुट 1

एक इनपुट स्ट्रिंग दर्ज करें:नमूना टेक्स्टमैच हुआ

आउटपुट 2

एक इनपुट स्ट्रिंग दर्ज करें:नमूना टेक्स्ट 34 56मैच हुआ

  1. जावा में रेगुलर एक्सप्रेशन \s मेटाकैरेक्टर की व्याख्या करें

    उप-अभिव्यक्ति/मेटाकैरेक्टर \s सफेद स्थान के समतुल्य से मेल खाता है। उदाहरण 1 आयात करें स्ट्रिंग इनपुट =हैलो, ट्यूटोरियल पॉइंट में आपका स्वागत कैसे है!; पैटर्न पी =पैटर्न। संकलन (रेगेक्स); मैचर एम =पी.मैचर (इनपुट); इंट काउंट =0; जबकि (एम। ढूंढें ()) {गिनती ++; } System.out.println (मैचों की संख्या: +

  1. जावा में रेगुलर एक्सप्रेशन $ (डॉलर) मेटाकैरेक्टर

    उपअभिव्यक्ति/मेटाचरित्र “$ एक पंक्ति के अंत से मेल खाता है। उदाहरण 1 आयात करें स्ट्रिंग इनपुट =हाय ट्यूटोरियल पॉइंट में आपका स्वागत कैसे है; पैटर्न पी =पैटर्न। संकलन (रेगेक्स); मैचर एम =पी.मैचर (इनपुट); इंट काउंट =0; जबकि (एम। ढूंढें ()) {गिनती ++; System.out.println (मैचों की संख्या: + गिनती); } }

  1. दिनांक स्ट्रिंग से मिलान करने के लिए हम पायथन रेगुलर एक्सप्रेशन का उपयोग कैसे करते हैं?

    पहले मामले में दिए गए दिनांक स्ट्रिंग के नीचे दिए गए कोड में d-m-y प्रारूप से मेल खाता है और दूसरे मामले में दिनांक स्ट्रिंग प्रारूप से मेल नहीं खाती उदाहरण import re datestring = '21-09-1991' foo =re.match('(\d{2})[/.-](\d{2})[/.-](\d{4})$', datestring) print foo.group() datestring