码迷,mamicode.com
首页 > 其他好文 > 详细

正则匹配中文

时间:2018-12-03 12:45:09      阅读:395      评论:0      收藏:0      [点我收藏+]

标签:国际化   需要   grep -n   find   pre   int   gbk   项目   nic   

背景:项目要做国际化需求,要有中英文切换功能,所以我需要找到代码中所有包含的中文。

原理:很简单,中文在unicode 和 utf-8里都有一定的编码范围,所以我们只需要找出编码最小和最大的中文即可。

幸运的是中文在unicode 和 utf-8里编码的顺序是相同的(注:gbk编码是以拼音顺序编码的,所以如果文件时gbk编码需要先对编码进行转换)。

最小编码:一(\u4e00)

最大编码:龥(\u9fa5)

命令:egrep -nR ‘[一-龥]+‘ * --color

附上python代码:

import re
str=‘‘‘
汉字文字
1234567890
abcdefghijklmnopqrstuvwxyz
-_+=!@#$%^&*()[]{};:"‘<>,.?/|~ `
‘‘‘
ret1 = re.findall(u‘[\u4e00-\u9fa5]+‘,str.decode(‘utf-8‘))
print ret1[0]
ret2 = re.findall(r‘[一-龥]+‘,str)
print ret2[0]

  

正则匹配中文

标签:国际化   需要   grep -n   find   pre   int   gbk   项目   nic   

原文地址:https://www.cnblogs.com/wukejia/p/10057644.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!