返回信息流用python语言写的,调用正则表达式的时候出现乱码了……正则表达式中有中文,这个怎么解决呀?
这是一条镜像帖。来源:北邮人论坛 / soft-design / #42214同步于 2012/4/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖
正则表达式中有中文,运行匹配的时候出现乱码怎么办?
redspider
2012/4/27镜像同步1 回复
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
表示没有压力。
源代码开头指定源代码的编码:
#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语言写的,调用正则表达式的时候出现乱码了……正则表达式中有中文,这个怎么解决呀?