"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जावा रेगुलर एक्सप्रेशन में कैप्चरिंग ग्रुप कैसे काम करते हैं?

जावा रेगुलर एक्सप्रेशन में कैप्चरिंग ग्रुप कैसे काम करते हैं?

2024-11-17 को प्रकाशित
ब्राउज़ करें:634

How do Capturing Groups Work in Java Regular Expressions?

जावा रेगेक्स कैप्चरिंग ग्रुप को समझना

इस कोड स्निपेट में, हम एक स्ट्रिंग के हिस्सों को निकालने के लिए जावा की रेगुलर एक्सप्रेशन (रेगेक्स) लाइब्रेरी का उपयोग करते हैं। रेगेक्स को "(.)(\d )(.)" के रूप में परिभाषित किया गया है, जहां:

  • (.*): अगले समूह से पहले किसी भी वर्ण की संख्या से मेल खाता है .
  • (\d ): पिछले समूह के बाद किसी भी संख्या के अंकों से मेल खाता है।
  • (.*): पिछले समूह के बाद किसी भी अक्षर की किसी भी संख्या से मेल खाता है।

रेगेक्स निष्पादन

जब रेगेक्स को "यह ऑर्डर QT3000 के लिए रखा गया था! ठीक है?" स्ट्रिंग के विरुद्ध निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है:

Found value: This order was placed for QT3000! OK?
Found value: This order was placed for QT
Found value: 3000

लालची क्वांटिफायर को समझना

रेगेक्स में उपयोग किया जाने वाला डिफ़ॉल्ट क्वांटिफायर लालची है, जिसका अर्थ है कि यह अगले समूह को संतुष्ट करने के लिए जितना संभव हो उतने वर्णों से मेल खाता है। इस मामले में, ".*" पहला अंक मिलने तक पूरी स्ट्रिंग से मेल खाता है, तीसरे समूह के लिए कोई अक्षर नहीं छोड़ता है। केवल आवश्यक वर्णों के लिए, हम एक अनिच्छुक परिमाणक का उपयोग कर सकते हैं, जिसे प्रश्न चिह्न द्वारा दर्शाया जाता है। "(.

)" को "(.

?)" से बदलने पर संभव वर्णों की न्यूनतम संख्या मेल खाती है, जिसके परिणामस्वरूप निम्न आउटपुट प्राप्त होता है:मिला मूल्य: यह ऑर्डर QT3000 के लिए रखा गया था! ठीक है? पाया गया मूल्य: यह ऑर्डर क्यूटी के लिए दिया गया था मिला मूल्य: 3000

समूहों को कैप्चर करने के लाभ

Found value: This order was placed for QT3000! OK?
Found value: This order was placed for QT
Found value: 3000

पैटर्न पैटर्न = पैटर्न.कंपाइल( "(।*?)(\\डी )(।*)"); मैचर मैचर = पैटर्न.मैचर (लाइन); यदि (matcher.find()) { System.out.println("समूह 1:" मिलानकर्ता.समूह(1)); System.out.println("समूह 2:" मिलानकर्ता.समूह(2)); System.out.println("समूह 3:" मिलानकर्ता.समूह(3)); }

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3