2009-09-22 12 views
15

संकलित एक बार नियमित अभिव्यक्ति को कम करने का कोई तरीका है?एक regex decompile कैसे?

+2

किस अंत तक? पायथन स्रोत आधारित है, इसलिए आपको हमेशा मूल रेगेक्स तक पहुंच प्राप्त करनी चाहिए। भले ही आप किसी की .pyc फ़ाइलों को इंजीनियर करने की कोशिश कर रहे हों, फिर भी रेगेक्स को अपनाने के बजाय, स्ट्रिंग प्राप्त करने के लिए पायथन ऑब्जेक्ट कोड को डीकंपाइल करना आसान होगा। एकमात्र संभव उपयोग मैं सोच सकता हूं कि इंजीनियर को एक मसालेदार संकलित रेगेक्स को उलटा करने की कोशिश कर रहा है ... –

+0

यह जानना दिलचस्प होगा कि आप ऐसा क्यों करना चाहते हैं? – deadcyclo

उत्तर

34

संकलित नियमित अभिव्यक्ति वस्तुओं में "पैटर्न" विशेषता होती है जो मूल पाठ पैटर्न प्रदान करती है।

>>> import re 
>>> regex = re.compile('foo (?:bar)*') 
>>> regex.pattern 
'foo (?:bar)*' 
+6

वाह महान, अगर मैं एक डीआईआर (रेगेक्स) करता हूं तो मैं इसे क्यों नहीं देख सकता ?? मैंने आत्मनिरीक्षण करने की कोशिश की लेकिन यह नहीं पता कि यह संपत्ति कहां से आती है ... – nabucosound