Python匹配中文的正则表达式


Posted in Python onMay 11, 2016

正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同;但不用担心,不被支持的语法通常是不常用的部分。

Python正则表达式简介

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。

Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。

re 模块使 Python 语言拥有全部的正则表达式功能。

compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。

re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。

以上说的都是给正文做铺垫的,下面看下python正则表达式如何匹配中文的。

# -*- coding: utf-8 -*-
import re
def findPart(regex, text, name):
res=re.findall(regex, text)
if res:
print "There are %d %s parts:\n"% (len(res), name)
for r in res:
print "\t",r.encode("utf8")
print
text ="#who#helloworld#a中文x#"
usample=unicode(text,'utf8')
findPart(u"#[\w\u2E80-\u9FFF]+#", usample, "unicode chinese")

注:

几个主要非英文语系字符范围

2E80~33FFh:中日韩符号区。收容康熙字典部首、中日韩辅助部首、注音符号、日本假名、韩文音符,中日韩的符号、标点、带圈或带括符文数字、月份,以及日本的假名组合、单位、年号、月份、日期、时间等。

3400~4DFFh:中日韩认同表意文字扩充A区,总计收容6,582个中日韩汉字。

4E00~9FFFh:中日韩认同表意文字区,总计收容20,902个中日韩汉字。

A000~A4FFh:彝族文字区,收容中国南方彝族文字和字根。

AC00~D7FFh:韩文拼音组合字区,收容以韩文音符拼成的文字。

F900~FAFFh:中日韩兼容表意文字区,总计收容302个中日韩汉字。

FB00~FFFDh:文字表现形式区,收容组合拉丁文字、希伯来文、阿拉伯文、中日韩直式标点、小符号、半角符号、全角

(
#!/usr/bin/python3
# -*- coding: UTF-8 -*-
import re
message = u'天人合一'.encode('utf8')
print(re.search(u'人'.encode('utf8'), message).group())
交互模式下的例子
>>> import re
>>> s='Phone No. 010-87654321'
>>> 
>>> r=re.compile(r'(\d+)-(\d+)')
>>> m=r.search(s)
>>> m
<_sre.SRE_Match object at 0x010EE218>
)

以上所述是小编给大家介绍的Python正则表达式匹配中文的方法,希望对大家有所帮助!

Python 相关文章推荐
Python学习笔记(二)基础语法
Jun 06 Python
python实现折半查找和归并排序算法
Apr 14 Python
终端命令查看TensorFlow版本号及路径的方法
Jun 13 Python
Django跨域请求问题的解决方法示例
Jun 16 Python
使用pyecharts生成Echarts网页的实例
Aug 12 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
Aug 22 Python
python实现简易学生信息管理系统
Apr 05 Python
Python实现银行账户资金交易管理系统
Jan 03 Python
pytorch使用 to 进行类型转换方式
Jan 08 Python
python实现ip地址的包含关系判断
Feb 07 Python
浅谈python的elementtree模块处理中文注意事项
Mar 06 Python
代码复现python目标检测yolo3详解预测
May 06 Python
Python3使用requests发闪存的方法
May 11 #Python
Python3控制路由器——使用requests重启极路由.py
May 11 #Python
Python3使用requests登录人人影视网站的方法
May 11 #Python
在Django中进行用户注册和邮箱验证的方法
May 09 #Python
Python数据类型详解(三)元祖:tuple
May 08 #Python
Python数据类型详解(二)列表
May 08 #Python
Python数据类型详解(一)字符串
May 08 #Python
You might like
phpMyadmin 用户权限中英对照
2010/04/02 PHP
利用PHP将图片转换成base64编码的实现方法
2016/09/13 PHP
php获取给定日期相差天数的方法分析
2017/02/20 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
2019/12/20 PHP
js 禁用只读文本框获得焦点时的退格键
2010/04/25 Javascript
JavaScript中实现依赖注入的思路分享
2015/01/15 Javascript
JavaScript的Polymer框架中dom-repeat与VM的相关操作
2015/07/29 Javascript
jQuery validate插件实现ajax验证重复的2种方法
2016/01/22 Javascript
javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)
2016/09/20 Javascript
Javascript实现汉字和拼音互转的终极方案
2016/10/19 Javascript
如何清除IE10+ input X 文本框的叉叉和密码输入框的眼睛图标
2016/12/21 Javascript
Angular 4.0学习教程之架构详解
2017/09/12 Javascript
jQuery实现checkbox即点即改批量删除及中间遇到的坑
2017/11/11 jQuery
JavaScript实现封闭区域布尔运算的示例代码
2018/06/25 Javascript
node.js实现带进度条的多文件上传
2020/03/27 Javascript
Layui多选只有最后一个值的解决方法
2019/09/02 Javascript
JS页面获取 session 值,作用域和闭包学习笔记
2019/10/16 Javascript
vue 监听 Treeselect 选择项的改变操作
2020/08/31 Javascript
python连接远程ftp服务器并列出目录下文件的方法
2015/04/01 Python
python操作excel的包(openpyxl、xlsxwriter)
2018/06/11 Python
python中计算一个列表中连续相同的元素个数方法
2018/06/29 Python
python 实现将txt文件多行合并为一行并将中间的空格去掉方法
2018/12/20 Python
python进程和线程用法知识点总结
2019/05/28 Python
python装饰器常见使用方法分析
2019/06/26 Python
Python3内置函数chr和ord实现进制转换
2020/06/05 Python
戴森美国官网:Dyson美国
2016/09/11 全球购物
Clarisonic美国官网:科莱丽声波洁面仪
2017/10/12 全球购物
彪马土耳其官网:PUMA土耳其
2019/07/14 全球购物
介绍下Lucene建立索引的过程
2016/03/02 面试题
50岁生日感言
2014/01/23 职场文书
弘扬雷锋精神演讲稿
2014/05/10 职场文书
党员教师个人对照检查材料范文
2014/09/25 职场文书
教师节随笔
2015/08/15 职场文书
教师素质教育心得体会
2016/01/19 职场文书
nginx配置proxy_pass中url末尾带/与不带/的区别详解
2021/03/31 Servers
一文了解JavaScript用Element Traversal新属性遍历子元素
2021/11/27 Javascript