/ / रेगेक्स मैचों के सभी पैटर्न सूचीबद्ध करना - पायथन, रेगेक्स, पर्ल, पैटर्न-मिलान

रेगेक्स मैचों - पायथन, रेगेक्स, पर्ल, पैटर्न-मिलान के सभी पैटर्न सूचीबद्ध करना

मैं एक सीमित regex (कोई डुप्लिकेट के साथ) से सभी संभावित पैटर्न सूचीबद्ध करने के लिए एक रास्ता तलाश रहा हूँ। क्या कोई स्रोत उपलब्ध है?

उत्तर:

जवाब के लिए 3 № 1

यद्यपि यह कुछ उन्नत सुविधाओं को कवर नहीं करता है, और इसकी अन्य चेतावनियों का अपना हिस्सा है, Regexp :: Genex ऐसा लगता है कि आप जो खोज रहे हैं उसके करीब है।

वहाँ भी पर्लमोन्क्स का यह धागा जो पर्याप्त प्रासंगिक है (साथ ही साथ यह बताते हुए कि Regexp :: जेनेक्स आपके लिए क्या नहीं कर सकता है, और कुछ रोल-खुद विकल्प)।

अन्यथा, जेफरी फ्रेडल के अनुसार नियमित अभिव्यक्तियों का मास्टरिंग, आप / जी संशोधक का उपयोग कर सकते हैं, (? {CODE}) एक्सटेंशन और ए के साथ मिलकर पैटर्न जो कभी मेल नहीं खाएगा, एला:

perl -E "$_ = "Mastering Regular Expressions"; /(p{L}*)(?{ say qq![$^N]! })(?!)/g;"

जवाब के लिए 0 № 2

पर्ल पर आधारित एक हास्केल कार्यक्रम Regexp::Genex पाया जा सकता है गीथूब पर तथा हैकेज पर.

लेखक के अनुसार, यह रेगेक्सपी :: जेनेक्स द्वारा प्रेरित था, लेकिन "सभी संभावनाओं को गिनने के बजाय चरित्र वर्गों के लिए एक यादृच्छिक-चलने का दृष्टिकोण उपयोग करता है।"