BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / soft-design / #42214同步于 2012/4/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖

正则表达式中有中文,运行匹配的时候出现乱码怎么办?

redspider
2012/4/27镜像同步1 回复
用python语言写的,调用正则表达式的时候出现乱码了……正则表达式中有中文,这个怎么解决呀?
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
wks机器人#1 · 2012/4/27
表示没有压力。 源代码开头指定源代码的编码: #coding: utf8 正则表达式用unicode编译: import re re.compile(ur'中文(.+)表达式') 从命令行读入,或者从文件读入,都要转换成unicode。 line = unicode(raw_input(), "utf8") # 不指定的话,使用系统默认编码。 输出的时候,print u'xxxx' #也是使用系统默认编码。要指定的话用u'xxx'.encode("utf8")方法 #!/usr/bin/python2 #coding: utf8 import re pat = re.compile( ur'(.+)为高,(.+)为低;(.+)站东,(.+)站西;' ur'(.+)薄,(.+)厚;(.+)肥,(.+)瘦。' ) line = unicode(raw_input(), "utf8") for match in pat.findall(line): for part in match: print part 存成regex.py 执行: kwang@public:~/code/python$ python regex.py 君为高,臣为低;文站东,武站西;人情薄,皇恩厚;春雨肥,严霜瘦。 君 臣 文 武 人情 皇恩 春雨 严霜 【 在 redspider 的大作中提到: 】 : 用python语言写的,调用正则表达式的时候出现乱码了……正则表达式中有中文,这个怎么解决呀?