2011-09-13 13 views
6

मान लीजिए मैं, मैं की तरहमिलान केस संवेदी यूनिकोड तार

re.compile(r"[a-z][A-Z]") 

कुछ कर सकते हैं अब मैं यूनिकोड स्ट्रिंग्स के लिए एक ही बात करना चाहता हूँ एक अपरकेस अक्षर के बाद एक छोटा अक्षर से मिलान करना चाहते , यानी 'aÅ' या 'yÜ' जैसे कुछ मिलान करें।

re.compile(r"[a-z][A-Z]", re.UNICODE) 

की कोशिश की लेकिन वह काम नहीं करता।

कोई सुराग?

उत्तर

6

पायथन रेगेक्स के साथ करना मुश्किल है क्योंकि वर्तमान कार्यान्वयन \p{Lu} और \p{Ll} जैसे यूनिकोड प्रॉपर्टी शॉर्टकट का समर्थन नहीं करता है।

[A-Za-z] निश्चित रूप से केवल ASCII अक्षरों से मेल खाता है, भले ही यूनिकोड विकल्प सेट किया गया हो या नहीं।

तो जब तक re मॉड्यूल अद्यतन किया जाता है (या आप विकास में वर्तमान में regex package स्थापित), आप या तो यह प्रोग्राम के रूप में करने की जरूरत है (स्ट्रिंग के माध्यम से पुनरावृति और पात्रों पर char.islower()/char.isupper() करते हैं), या सभी यूनिकोड कोड निर्दिष्ट अंक मैन्युअल रूप से संभवतः प्रयास के लायक नहीं है ...

+0

यह उपयोगी था। मुझे केवल डेनिश अक्षरों से निपटना है। तो 'æøå' और 'ÆØÅ' जोड़ना शायद ठीक है। – repoman

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