博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python正则中如何匹配汉字以及encode(‘utf-8’)和decode(‘utf-8’)的互转
阅读量:5317 次
发布时间:2019-06-14

本文共 1825 字,大约阅读时间需要 6 分钟。

正则表达式:

  [\u2E80-\u9FFF]+$ 匹配所有东亚区的语言 
  [\u4E00-\u9FFF]+$ 匹配简体和繁体 
  [\u4E00-\u9FA5]+$ 匹配简体 
  <input type="text" name="username" οnkeyup="value=value.replace([\u4E00-\u9FA5]+$)">

正则表达式速查表:

1  1 # -*- coding:utf-8 -*- 2  2  3  3 import re 4  4  5  5 ''' 6  6 python 3.5版本 7  7 正则匹配中文,固定形式:\u4E00-\u9FA5 8  8 ''' 9  9 10 10 words = 'study in 山海大学'11 11 regex_str = ".*?([\u4E00-\u9FA5]+大学)"12 12 match_obj = re.match(regex_str, words)13 13 if match_obj:14 14     print(match_obj.group(1))15 15 16 16 17 17 结果:山海大学

 

这里面表示的是一个正则表达式语句的啦,

Python添加对Unicode的支持,以Unicode表示的字符串用u’ABC’来表示。

字符串’xxx’虽然是ASCII编码,但也可以看成是UTF-8编码,而u’xxx’则只能是Unicode编码。

把u’xxx’转换为UTF-8编码的’xxx’用encode(‘utf-8’)方法。

1 >>> u'ABC'.encode('utf-8')2 'ABC'3 >>> u'中文'.encode('utf-8')4 '\xe4\xb8\xad\xe6\x96\x87

反过来,把UTF-8编码表示的字符串’xxx’转换为Unicode字符串u’xxx’用decode(‘utf-8’)方法。

1 >>> 'abc'.decode('utf-8')2 u'abc'3 >>> '\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')4 u'\u4e2d\u6587'5 >>> print '\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')6 中文

由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:

1 #!/usr/bin/env python2 # -*- coding: utf-8 -*-

第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;

第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。

关于Python正则表达式匹配中文:

这里边重点用到了  r'[\u4e00-\u9fa5]+'  的正则规则,表示1到多个任意汉字。

1 import re 2 str=u"【心理箴言】现实是污浊的河流,要想接受污浊的河流而自身不被污染,我们必须成为大海。 ​​=-=4845/.?'​" 3 # py2.7,所以字符串前加u,在正则表达式前也加u即可。 4 # pattern =re.compile(u'[\u4e00-\u9fa5]') 5 pattern =re.compile(r"[\u4e00-\u9fa5]+") 6 result=pattern.findall(str) 7 result1=re.findall(pattern,str) 8 for w in result: 9     print(w)10 11 str1='hjggj小vjjk明'12 pat=re.compile(r'[\u4e00-\u9fa5]+')13 result=pat.findall(str1)14 print(result)

运行结果:

如果全是汉字 指定输出某些汉字呢:

见 Unicode 中文编码表: 

 

转载于:https://www.cnblogs.com/Army-Knife/p/10691407.html

你可能感兴趣的文章
“玩转课堂”基本构想
查看>>
心的影子
查看>>
javascript 实现MD5加密,sha1加密,crc32加密
查看>>
函数的嵌套调用
查看>>
用心疗眼
查看>>
MongoDB常用操作
查看>>
JSFL 获取当前脚本路径,执行其他脚本
查看>>
Java报表工具FineReport导出EXCEL的四种API
查看>>
五个思路,教你如何建立金融业的数据分析管理模型
查看>>
easy html5 - Jquery mobile
查看>>
Linux内核笔记--内存管理之用户态进程内存分配
查看>>
arguments.callee()事例 参数检验
查看>>
Spring Boot—05页面跳转
查看>>
iptables (2) 基本配置
查看>>
postman--安装及Interceptor插件
查看>>
第十周总结
查看>>
算法马拉松13 A-E解题报告
查看>>
白白的(baibaide)
查看>>
Android-一张图理解MVP的用法
查看>>
OOD之问题空间到解空间—附FP的建模
查看>>