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实现发送email的几种常用方法
Aug 18 Python
Python编程之多态用法实例详解
May 19 Python
浅谈Python2.6和Python3.0中八进制数字表示的区别
Apr 28 Python
python之Character string(实例讲解)
Sep 25 Python
python通过paramiko复制远程文件及文件目录到本地
Apr 30 Python
python 字典操作提取key,value的方法
Jun 26 Python
wxPython色环电阻计算器
Nov 18 Python
python 浅谈serial与stm32通信的编码问题
Dec 18 Python
Pytorch对Himmelblau函数的优化详解
Feb 29 Python
Python logging模块handlers用法详解
Aug 14 Python
详解pycharm的python包opencv(cv2)无代码提示问题的解决
Jan 29 Python
Spy++的使用方法及下载教程
Jan 29 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
Javascript 面向对象 命名空间
2010/05/13 Javascript
JS.GetAllChild(element,deep,condition)使用介绍
2013/09/21 Javascript
JavaScript调用后台的三种方法实例
2013/10/17 Javascript
JavaScript控制两个列表框listbox左右交换数据的方法
2015/03/18 Javascript
浅谈jQuery添加的HTML,JS失效的问题
2016/10/05 Javascript
微信小程序 图片边框解决方法
2017/01/16 Javascript
js实现文字选中分享功能
2017/01/25 Javascript
基于vue2.0+vuex+localStorage开发的本地记事本示例
2017/02/28 Javascript
webpack打包单页面如何引用的js
2017/06/07 Javascript
深入浅析javascript继承体系
2017/10/23 Javascript
Vue中正确使用jQuery的方法
2017/10/30 jQuery
Javascript防止图片拉伸的自适应处理方法
2017/12/26 Javascript
原生JavaScript实现todolist功能
2018/03/02 Javascript
解决jquery的ajax调取后端数据成功却渲染失败的问题
2018/08/08 jQuery
Bootstrap模态对话框用法简单示例
2018/08/31 Javascript
element-ui 远程搜索组件el-select在项目中组件化的实现代码
2019/12/04 Javascript
echarts实现晶体球面投影的实例教程
2020/10/10 Javascript
vue iview 隐藏Table组件里的某一列操作
2020/11/13 Javascript
微信小程序实现弹幕墙(祝福墙)
2020/11/18 Javascript
[05:01]3.19DOTA2发布会 我们都是刀塔人
2014/03/25 DOTA
python刷投票的脚本实现代码
2014/11/08 Python
python3操作mysql数据库的方法
2017/06/23 Python
tensorflow获取变量维度信息
2018/03/10 Python
python3的输入方式及多组输入方法
2018/10/17 Python
python快速编写单行注释多行注释的方法
2019/07/31 Python
python之PyQt按钮右键菜单功能的实现代码
2019/08/17 Python
python框架flask表单实现详解
2019/11/04 Python
CSS3解决移动页面上点击链接触发色块的问题
2016/06/03 HTML / CSS
HTML5 Canvas 实现K线图的示例代码
2019/12/23 HTML / CSS
某IT外企面试题-二分法求方程!看看大家的C++功底
2015/07/04 面试题
下面代码从性能上考虑,有什么问题
2015/04/03 面试题
国际贸易毕业生求职信范文
2014/02/21 职场文书
领导班子自我剖析材料
2014/08/16 职场文书
乡镇党的群众路线教育实践活动总结报告
2014/10/30 职场文书
2015年关爱留守儿童工作总结
2015/05/22 职场文书
参观监狱警示教育心得体会
2016/01/15 职场文书