2012-10-13 15 views
5

मुझे आश्चर्य है कि जब मैं जे 2 एमई में आया हूं तो सामान्य रेगेक्स नहीं है जिसे मैं जे 2 एसई में उपयोग कर रहा हूं।regexp-me लाइब्रेरी का उपयोग कैसे करें?

मैं इस जे 2 एमई समर्थित regex पुस्तकालय पाया: regexp-me

किसी को मुझे बताओ कि प्रारंभिक/न खत्म होने वाली स्थिति या matcher.group की तरह कुछ() (J2SE में) प्राप्त करने के लिए कर सकते हैं, इस लाइब्रेरी की। मैं देख सकता हूं कि इसमें एक बुलियन रिटर्न फ़ंक्शन 'मैच' है, लेकिन यह वही नहीं है जो मैं चाहता हूं।

इसके अलावा, वे मिलान किए गए रेगेक्स को पुनः प्राप्त करने के लिए getParenStart (0) के साथ घुंघराले ब्रैकेट का उपयोग करते हैं, लेकिन मैं कभी भी जे 2 एसई में ऐसी चीज का उपयोग नहीं करता, वास्तव में यह नहीं समझ सकता कि यह क्या कर रहा है।

उदाहरण के लिए:

regex = a.+b 

स्ट्रिंग है कि मैं खोज करने के लिए में हैं:

kkkkacccb789 

मैं acccb की स्थिति जानते हैं या अधिमानतः से बाहर, पूरे मिलान किया स्ट्रिंग प्राप्त acccb करना चाहते हैं स्ट्रिंग।

उत्तर

1

ऐसा लगता है कि आप इसे पहले से ही समझ चुके हैं। यह टुकड़ा मैच आप चाहते हैं क्या करेंगे, और स्थानीय चर में स्ट्रिंग के मिलान हिस्सा डाल matchedSubstring

RE regex = new RE("a.+b"); 
r.match("kkkkacccb789"); 
String matchedSubstring = r.getParen(0); 
+0

धन्यवाद, सिर्फ परीक्षण किया है, यह काम करता है, मैंने सोचा था कि हम regex से पहले regex.match कॉल करने के लिए की जरूरत नहीं है .getParen (मैंने सोचा regex.getParent पहले से ही regex.match आंतरिक रूप से कॉल), यही कारण है कि मेरा कोड काम नहीं किया। – GMsoF

+0

लेकिन क्या यह एक से अधिक घटनाओं से मेल खाता है? ऐसा लगता है कि इस तरह से काम नहीं करता है। – GMsoF

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