2010-04-16 17 views
6

जैसा कि मैंने अभी this question, .NET regexes can access individual matches within a repeated capturing group से सीखा है।कौन सा रेगेक्स स्वाद कैप्चर का समर्थन करता है (समूहों को कैप्चर करने के विपरीत)?

आई ई।, अगर मैं शब्दों का एक स्ट्रिंग के लिए \b(\w+\s*)+ की तरह एक regex लागू होते हैं, केवल अंतिम शब्द \1 या Match.Groups(1).Value में संग्रहीत किया जाएगा, लेकिन Match.Groups(1).Captures का उपयोग कर मैं सभी व्यक्ति तक पहुँच प्राप्त regex से मेल खाता से अधिक दोहराया।

क्या अन्य रेगेक्स स्वाद हैं जो .NET के अलावा इसका समर्थन करते हैं?

+1

वास्तव में! मुझे यह नहीं पता था। +1 – YOU

+0

यह हो सकता है कि जनवरी गोवार्ट्स – YOU

उत्तर

4

जहां तक ​​मुझे पता है, केवल .NET और Perl 6 उस क्षमता की पेशकश करते हैं।

+0

के लिए यह कॉल पर्ल 6 के लिए धन्यवाद। ऐसा लगता है कि जेजीएसओफ्ट इंजन थोड़ा ओवरहाल के लिए है। कैप्चर मुझे एक उपयोगी सुविधा की तरह लग रहा है। मैं अभी भी बाड़ पर हूं कि क्या रिकर्सिव/संतुलित रेगेक्स एक अच्छी बात है या क्या वे नियमित अभिव्यक्तियों को पूरी तरह से असंभव बनाते हैं। –

+0

मुझे लगता है कि अगर आपको रिकर्सन * या * इंटरमीडिएट कैप्चर की ज़रूरत है, तो आपको रेगेक्स का उपयोग नहीं करना चाहिए। कम से कम, पर्ल 5 युग regexes नहीं; पर्ल 6 में रेगेक्स सिंटैक्स में बड़े बदलाव शामिल हैं, जिससे उन लोगों की उन्नत सुविधाओं का उपयोग करना आसान हो जाता है और जो भी आपने लिखा है उसे पढ़ने में सक्षम हैं। –

+0

मैंने अभी पर्ल 6 रेगेक्स दस्तावेज़ों को देखा है। वाह, वह * पर्ल 5 से काफी बदलाव है ... –

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