在我们编写程序时,经常需要判断输入的字符是否包括有中文字符,比如特定的注册帐号,一般不支持中文字符。又比如在电话输入框里输入了中文字符,这时就需要正则表达式来判断是否合法了。
例子:
import re
print(‘[u4e00-u9fa5]‘)
m = re.findall(‘[\u4e00-\u9fa5]‘, ‘abc abc 中国 456‘)
if m:
print(m)
结果输出如下:
[u4e00-u9fa5]
[‘中‘, ‘国‘]
在这里使用正则表达式[\u4e00-\u9fa5]来定义一个集合,也就是从0x4e00开始到0x9fa5的集合,只要在这个集合内的字符都匹配成功。
我们知道双字节的字符,肯定是两个字符组成,大于255的字符,由此可知,如果不在0x00-0xff集合里的字符,那么就是双字节字符了。
例子:
print(‘[^x00-xff]‘)
m = re.findall(‘[^\x00-\xff]‘, ‘abc abc 中国 456‘)
if m:
print(m)
结果输出如下:
[^x00-xff]
[‘中‘, ‘国‘]
在这里使用了正则表达式[^\x00-\xff],这里使用^符号来表示取反的意思,就是非0x00-0xff的字符就匹配成功,所以结果只输出中国这两个字符。
蔡军生 微信号:shenzhencai 深圳
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/caimouse/article/details/48572461