मैं एक अजगर समारोह है कि एक नियमित रूप से अभिव्यक्ति का एक सादे अंग्रेजी विवरण लेने के लिए और फोन करने वाले के लिए नियमित अभिव्यक्ति लौट सकते हैं बनाने के लिए कोशिश कर रहा हूँ।क्या नियमित अभिव्यक्तियों को व्यक्त करने के एक और घोषणात्मक तरीके की आवश्यकता है? :)
वर्तमान में मैं YAML प्रारूप में वर्णन की सोच रहा हूँ। तो, हम विवरण को कच्चे स्ट्रिंग वेरिएबल के रूप में संग्रहीत कर सकते हैं, जो इस दूसरे फ़ंक्शन पर पास हो जाता है और उस फ़ंक्शन के आउटपुट को फिर 'री' मॉड्यूल में भेज दिया जाता है। के बाद एक नहीं बल्कि साधारण उदाहरण है:
# a(b|c)d+e*
re1 = """
- literal: 'a'
- one_of: 'b,c'
- one_or_more_of: 'd'
- zero_or_more_of: 'e'
"""
myre = re.compile(getRegex(re1))
myre.search(...)
आदि
किसी को लगता है कि करता है इस तरह की कुछ व्यापक उपयोग की हो सकता है? क्या आप पहले से ही मौजूदा पैकेज जानते हैं जो इसे कर सकते हैं? इस दृष्टिकोण के लिए आप क्या सीमाएं देखते हैं? क्या कोई सोचता है कि कोड में घोषणात्मक स्ट्रिंग होने से, यह अधिक रखरखाव कर देगा?
JSON या XML शायद? डीटीडी या एक्सएसडी भी एक डेटा संरचना अच्छी तरह से लिख सकते हैं। – codymanix
तो एक जटिल एक पूरी लाइन ले जा regex के बजाय, यह एक पूरे पृष्ठ :) –
जो लोग नियमित अभिव्यक्ति पता है कि यह साथ सहज हैं लगेगा, लेकिन जैसे वर्णमाला ऊपर फेंक दिया हर किसी को यह लग रहा है। यह एक मुद्दा हो सकता है, लेकिन मुझे यकीन नहीं है। आखिरकार, आप उन लोगों के लिए प्रोग्रामिंग भाषाओं की एक ही बात कह सकते हैं जो कार्यक्रम बनाम लोग हैं जो नहीं करते हैं। यह साथ वस्तुओं और कार्यों तार के instad यह करने के लिए अच्छा हो सकता है, लेकिन मुझे यकीन है कि क्या सबसे अच्छा तरीका लागू करने के लिए है कि हो सकता है नहीं कर रहा हूँ। नवाचार के लिए +1 सभी एक ही। – psicopoo