UCS-2 बिल्ड में, अजगर \U0000ffff
पर प्रत्येक यूनिकोड वर्ण के लिए आंतरिक रूप से 2 कोड इकाइयों का उपयोग करता है कोड बिंदु। रेगुलर एक्सप्रेशन को उनके साथ काम करने की ज़रूरत है, इसलिए आपको इनका मिलान करने के लिए निम्नलिखित रेगुलर एक्सप्रेशन का उपयोग करना होगा:
highpoints = re.compile(u'[\uD800-\uDBFF][\uDC00-\uDFFF]')
यह रेगुलर एक्सप्रेशन UTF-16 सरोगेट जोड़ी के साथ एन्कोड किए गए किसी भी कोड बिंदु से मेल खाता है (देखें UTF-16 कोड U+10000 से U+10FFFF की ओर इंगित करता है ।
इसे Python UCS-2 और UCS-4 संस्करणों में संगत बनाने के लिए, आप try:
. का उपयोग कर सकते हैं /except
एक या दूसरे का उपयोग करने के लिए:
try:
highpoints = re.compile(u'[\U00010000-\U0010ffff]')
except re.error:
# UCS-2 build
highpoints = re.compile(u'[\uD800-\uDBFF][\uDC00-\uDFFF]')
UCS-2 पायथन बिल्ड पर प्रदर्शन:
>>> import re
>>> highpoints = re.compile(u'[\uD800-\uDBFF][\uDC00-\uDFFF]')
>>> example = u'Some example text with a sleepy face: \U0001f62a'
>>> highpoints.sub(u'', example)
u'Some example text with a sleepy face: '