2015-01-08 9 views
6

मैं ग्रहण परएंड्रॉयड जावा regex नाम के समूहों

matcher.group("login"); 

एंड्रॉयड में 8 उपयोग करना चाहते हैं, लेकिन कोई Matcher.group (स्ट्रिंग) का अस्तित्व रहा है। क्या आपके पास एक (अंतर्निहित) समाधान है?

+0

Matcher इस तरह से काम नहीं करता है। हमें दिखाएं कि आप क्या प्राप्त करना चाहते हैं जिससे स्ट्रिंग – TheLostMind

+0

मुझे इस प्रकार का रेगेक्स चाहिए: (? एक्स) – hanoo

+0

रेगेक्स एक कॉन्फ़िगरेशन फ़ाइल से है इसलिए मुझे नामित समूहों की आवश्यकता है – hanoo

उत्तर

8

एंड्रॉइड Pattern कक्षा कार्यान्वयन आईसीयू द्वारा सटीक, ICU4C होने के लिए प्रदान किया जाता है।

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

और आईसीयू 4 सी वर्तमान में नामित कैप्चरिंग समूह का समर्थन नहीं करता है। आपको क्रमांकित कैप्चरिंग समूहों पर वापस आना होगा।

आईसीयू नामित कैप्चर समूहों का समर्थन नहीं करता है। http://bugs.icu-project.org/trac/ticket/5312

आपको वास्तव में सुविधा की आवश्यकता होने पर नामित कैप्चरिंग समूह क्षमता प्रदान करने के लिए स्वयं को एक रैपर लिखने और अभिव्यक्ति को पार्स करने की आवश्यकता है।

2

मैंने सोचा कि मुझे एक समाधान साझा करना चाहिए। टोनी ट्रिन (टोनी 1 9) द्वारा लिखित गितब पर एक शानदार लाइब्रेरी उपलब्ध है जो नामित रेगेक्स समूहों का उपयोग करने में सक्षम बनाता है।

परियोजना पृष्ठ से लिया:

"यह हल्के पुस्तकालय जावा 5/6 (और Android) में नामित कैप्चर समूहों के लिए समर्थन जोड़ता

इस से नामित-regexp परियोजना का एक कांटा है। Google कोड (वर्तमान में निष्क्रिय)। "

https://github.com/tony19/named-regexp

मैं सिर्फ एंड्रॉयड 4.1.1 और बाद के संस्करण पर यह परीक्षण किया है, और अब तक यह एक आकर्षण की तरह काम कर रहा है। मैं यह जानकर आश्चर्यचकित था कि मैं इस पुस्तकालय से कक्षाओं के साथ मैचर और पैटर्न के लिए अपने आयात को प्रतिस्थापित कर सकता हूं, और मेरे सभी मौजूदा रेगेक्स जो अभी भी क्रमांकित समूहों का उपयोग करते हैं, अभी भी काम करते हैं।

मुझे उम्मीद है कि इससे मदद मिलती है।

संबंधित मुद्दे