मुझे अपने पायथन (2.7) स्क्रिप्ट में एक बग को समझने में कठिनाई हो रही है। मुझे विशेष पात्रों को पहचानने में सब और निष्कर्ष का उपयोग करने में अंतर हो रहा है।पायथन में नियमित अभिव्यक्तियां और यूनिकोड: उप और खोज के बीच अंतर
यहाँ कोड है:
>>> re.sub(ur"[^-'().,\w]+", '' , u'Castañeda', re.UNICODE)
u'Castaeda'
>>> re.findall(ur"[^-'().,\w]+", u'Castañeda', re.UNICODE)
[]
जब मैं findall उपयोग करते हैं, यह सही ढंग से एक अक्षरात्मक चरित्र के रूप में एन देखता है, लेकिन जब मैं उप का उपयोग यह प्रतिस्थापित कर देता है - एक गैर अक्षरात्मक चरित्र के रूप में यह इलाज।
मैं string.replace के साथ findall का उपयोग कर सही कार्यक्षमता प्राप्त करने में सक्षम हूं, लेकिन यह एक खराब समाधान की तरह लगता है। इसके अलावा, मैं re.split का उपयोग करना चाहता हूं, और मुझे re.sub के समान समस्याएं आ रही हैं।
सहायता के लिए अग्रिम धन्यवाद।
आप किस संस्करण का उपयोग कर रहे हैं? यह Python 2.7.1 के आधार पर 2.7.1 – viraptor
ActivePython 2.7.1.4 पर ठीक काम करता है। मुझे यह बताने के लिए धन्यवाद कि यह आपके लिए अच्छा काम करता है। मेरे इंस्टॉल के साथ कोई समस्या हो सकती है ... मैंने अभी इसे पायथन 2.6.4 पर कोशिश की है, जो मेरी मशीन पर भी है, और मुझे एक ही समस्या मिल रही है – user793061
मैंने इसे क्यूबा से 11-24 पर कंसोल से परीक्षण किया। LANG = en_GB.UTF-8 के साथ शुरू किया गया, कोई एलसी प्रविष्टियां नहीं। – viraptor