免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5607 | 回复: 4
打印 上一主题 下一主题

python的re,正则表达式,可以用中文么? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-19 21:57 |只看该作者 |倒序浏览
比如cp-936的编码,可以么?
我这里一用,就抱错。

论坛徽章:
0
2 [报告]
发表于 2006-03-20 09:09 |只看该作者

回复 1楼 phpbird 的帖子

使用utf8,u'中文'试试。

论坛徽章:
0
3 [报告]
发表于 2006-03-20 09:10 |只看该作者
使用unicode比较好。因为cp936的编码,一个汉字是两个字符不方便匹配。

论坛徽章:
0
4 [报告]
发表于 2006-03-20 21:43 |只看该作者
如果源数据已经是gbk的了呢?
我用gbk的coding,但是
linux下说
Segmentation fault
windows
也抱错,是一个出错框

论坛徽章:
0
5 [报告]
发表于 2006-03-20 23:46 |只看该作者
解决了

  1. >>> a='中文'
  2. >>> a
  3. '\xd6\xd0\xce\xc4'
  4. >>> import re
  5. >>> mytestre=re.compile('\xd6\xd0\xce\xc4')
  6. >>> b='中文asdf223中文ss'
  7. >>> mytestre.sub('zw',b)
  8. 'zwasdf223zwss'
  9. >>>
复制代码

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

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP