2011-09-30 18 views
28

मुझे पाइथन में जावास्क्रिप्ट रेगेक्स के साथ अपना अनुभव स्थानांतरित करने का प्रयास करने का समय लगता है।पायथन रेगेक्स स्ट्रिंग मिलान?

मैं सिर्फ यह काम करने के लिए प्राप्त करने के लिए कोशिश कर रहा हूँ:

print(re.match('e','test')) 

... लेकिन यह कोई नहीं प्रिंट करता है। यदि मैं करता हूं:

print(re.match('e','est')) 

यह मेल खाता है ... क्या यह डिफ़ॉल्ट रूप से स्ट्रिंग की शुरुआत से मेल खाता है? जब यह मेल खाता है, तो मैं परिणाम का उपयोग कैसे करूं?

मैं पहला मैच कैसे बना सकता हूं? क्या पाइथन साइट ऑफ़र की तुलना में बेहतर दस्तावेज है?

उत्तर

53

re.match आपके रेगेक्स की शुरुआत में ^ को स्पष्ट रूप से जोड़ता है। दूसरे शब्दों में, यह केवल स्ट्रिंग की शुरुआत से मेल खाता है।

re.search सभी पदों पर पुनः प्रयास करेंगे।

आम तौर पर, मैं re.search का उपयोग करने की सलाह देता हूं और ^ को स्पष्ट रूप से जोड़ना चाहता हूं।

http://docs.python.org/library/re.html

+1

सूक्ष्म व्यवहार। –

9

डॉक्स स्पष्ट मुझे लगता है कि है।

re.match (पैटर्न, स्ट्रिंग [, झंडे]) ¶

If zero or more characters **at the beginning of string** match the 

रेगुलर एक्सप्रेशन पैटर्न, एक इसी MatchObject उदाहरण लौट आते हैं। स्ट्रिंग कोई नहीं है अगर स्ट्रिंग पैटर्न से मेल नहीं खाता है; नोट करें कि यह शून्य-लंबाई मिलान से अलग है।

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