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实现方便使用的级联进度信息实例
May 05 Python
对于Python中RawString的理解介绍
Jul 07 Python
Python新手们容易犯的几个错误总结
Apr 01 Python
使用 Python 实现微信公众号粉丝迁移流程
Jan 03 Python
python使用xlrd和xlwt读写Excel文件的实例代码
Sep 05 Python
Python多线程同步---文件读写控制方法
Feb 12 Python
python实现数据分析与建模
Jul 11 Python
Python 取numpy数组的某几行某几列方法
Oct 24 Python
python 两个一样的字符串用==结果为false问题的解决
Mar 12 Python
python相对企业语言优势在哪
Jun 12 Python
python em算法的实现
Oct 03 Python
Python实现Matplotlib,Seaborn动态数据图
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
Smarty模板快速入门
2007/01/04 PHP
php中$this-&amp;gt;含义分析
2009/11/29 PHP
php使用Cookie实现和用户会话的方法
2015/01/21 PHP
PHP按符号截取字符串的指定部分的实现方法
2018/09/10 PHP
php反射学习之依赖注入示例
2019/06/14 PHP
收藏Javascript中常用的55个经典技巧
2007/08/12 Javascript
jQuery 页面 Mask实现代码
2010/01/09 Javascript
仿当当网淘宝网等主流电子商务网站商品分类导航菜单
2013/09/25 Javascript
阻止事件(取消浏览器对事件的默认行为并阻止其传播)
2013/11/03 Javascript
jquery修改网页背景颜色通过css方法实现
2014/06/06 Javascript
jquery模拟进度条实现方法
2015/08/03 Javascript
AngularJS实现元素显示和隐藏的几个案例
2015/12/09 Javascript
jQuery遍历json的方法(推荐)
2016/06/12 Javascript
AngularJs ng-route路由详解及实例代码
2016/09/14 Javascript
jquery popupDialog 使用 加载jsp页面的方法
2016/10/25 Javascript
JS实现滑动门效果的方法详解
2016/12/19 Javascript
vue.js选中动态绑定的radio的指定项
2017/06/02 Javascript
详解Vue的钩子函数(路由导航守卫、keep-alive、生命周期钩子)
2018/07/24 Javascript
用js编写留言板
2020/03/17 Javascript
Vue axios获取token临时令牌封装案例
2020/09/11 Javascript
[02:55]2018DOTA2国际邀请赛勇士令状不朽珍藏Ⅲ饰品一览
2018/08/01 DOTA
[02:31]2018年度DOTA2最具人气选手-完美盛典
2018/12/16 DOTA
python中ASCII码和字符的转换方法
2018/07/09 Python
Python jieba库用法及实例解析
2019/11/04 Python
python中的split()函数和os.path.split()函数使用详解
2019/12/21 Python
Python基于codecs模块实现文件读写案例解析
2020/05/11 Python
使用pycharm和pylint检查python代码规范操作
2020/06/09 Python
如何用Python绘制3D柱形图
2020/09/16 Python
加拿大快时尚零售商:Ardene
2018/02/14 全球购物
Dockers鞋官网:Dockers Shoes
2018/11/13 全球购物
英文简历中的自我评价用语
2013/12/09 职场文书
工程造价专业大学生职业生涯规划书
2014/01/18 职场文书
群众路线教育实践活动方案
2014/02/02 职场文书
参观邀请函范文
2015/02/02 职场文书
医院病假条怎么写
2015/08/17 职场文书
Win10 和 Win11可以共存吗? win10/11产品生命周期/服务更新介绍
2021/11/21 数码科技