unicode是python的內(nèi)部編碼。
字符串在Python內(nèi)部的表示是unicode編碼,因此,在做編碼轉(zhuǎn)換時磷支,通常需要以unicode作為中間編碼,即先將其他編碼的字符串解碼(decode)成unicode食寡,再從unicode編碼(encode)成另一種編碼雾狈。
在編程中如果沒有意識就可能會出bug。
像這樣的unicode編碼直接用中文進行正則表達式的匹配是沒有結(jié)果的抵皱。因為使用的是utf8編碼善榛。
#!/usr/bin/env python
#coding=utf-8
import re
content = u'中文內(nèi)容'
formula = '中(.*?)容'
pattern = re.compile(formula)
print(re.findall(pattern, content))
decode方法可以將某種編碼轉(zhuǎn)成unicode編碼
encode方法可以將unicode編碼轉(zhuǎn)成另外的編碼
加上一行content = content.encode('utf8')就可以了
#!/usr/bin/env python
#coding=utf-8
import re
content = u'中文內(nèi)容'
content = content.encode('utf8')
formula = '中(.*?)容'
pattern = re.compile(formula)
print(re.findall(pattern, content))
另外編碼入門可以看看這個