python的re,正则表达式,可以用中文么?

python的re,正则表达式,可以用中文么?

比如cp-936的编码,可以么?
我这里一用,就抱错。
使用utf8,u'中文'试试。
使用unicode比较好。因为cp936的编码,一个汉字是两个字符不方便匹配。
如果源数据已经是gbk的了呢?
我用gbk的coding,但是
linux下说
Segmentation fault
windows
也抱错,是一个出错框
解决了

[Copy to clipboard] [ - ]
CODE:
>>> a='中文'
>>> a
'\xd6\xd0\xce\xc4'
>>> import re
>>> mytestre=re.compile('\xd6\xd0\xce\xc4')
>>> b='中文asdf223中文ss'
>>> mytestre.sub('zw',b)
'zwasdf223zwss'
>>>

关键是要找到中文相应coding对应的编码,这里中文='\xd6\xd0\xce\xc4'
所以,就用\xd6\xd0\xce\xc4代替中文就可以了,如果是其他编码,也用类似的方法找到编码的字符串就可以了,没测试过,应该是这样的。哈哈。