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多线程ctrl+c退出问题解决方案
Oct 23 Python
详解python3百度指数抓取实例
Dec 12 Python
pycharm+django创建一个搜索网页实例代码
Jan 24 Python
python合并已经存在的sheet数据到新sheet的方法
Dec 11 Python
Flask框架模板渲染操作简单示例
Jul 31 Python
Python re 模块findall() 函数返回值展现方式解析
Aug 09 Python
python中sort和sorted排序的实例方法
Aug 26 Python
python实现文件的分割与合并
Aug 29 Python
django 实现celery动态设置周期任务执行时间
Nov 19 Python
python数字类型math库原理解析
Mar 02 Python
Python基于stuck实现scoket文件传输
Apr 02 Python
安装pyinstaller遇到的各种问题(小结)
Nov 20 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
php静态文件返回304技巧分享
2015/01/06 PHP
PHP性能优化大全(php.ini)
2016/05/20 PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
2017/07/18 PHP
jQuery 使用手册(七)
2009/09/23 Javascript
JS如何判断移动端访问设备并解析对应CSS
2013/11/27 Javascript
使用JavaScript和C#中获得referer
2014/11/14 Javascript
jquery+php实现滚动的数字特效
2015/11/29 Javascript
javascript实现checkbox复选框实例代码
2016/01/10 Javascript
使用jQuery.Qrcode插件在客户端动态生成二维码并添加自定义Logo
2016/09/01 Javascript
Javascript实现前端简单的路由实例
2016/09/11 Javascript
Three.js基础部分学习
2017/01/08 Javascript
jQuery代码实现实时获取时间
2017/01/29 Javascript
Bootstrap面板学习使用
2017/02/09 Javascript
详解Angular操作cookies方法
2018/06/01 Javascript
Angular(5.2-&gt;6.1)升级小结
2018/12/27 Javascript
微信小程序判断用户是否需要再次授权获取个人信息
2019/07/18 Javascript
layui自定义ajax左侧三级菜单
2019/07/26 Javascript
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
2020/02/04 jQuery
[01:00:17]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第二场 1月25日
2021/03/11 DOTA
Python3 入门教程 简单但比较不错
2009/11/29 Python
Python黑帽编程 3.4 跨越VLAN详解
2016/09/28 Python
python PyTorch预训练示例
2018/02/11 Python
python自定义时钟类、定时任务类
2021/02/22 Python
浅析Python数字类型和字符串类型的内置方法
2019/12/22 Python
解决Python pip 自动更新升级失败的问题
2020/02/21 Python
python 最简单的实现适配器设计模式的示例
2020/06/30 Python
彻底搞懂python 迭代器和生成器
2020/09/07 Python
使用AJAX和Django获取数据的方法实例
2020/10/25 Python
通信工程专业个人找工作求职信范文
2013/09/21 职场文书
2014市国税局对照检查材料思想汇报
2014/09/23 职场文书
酒店辞职信怎么写
2015/02/27 职场文书
2015年敬老月活动总结
2015/03/27 职场文书
法院答辩状格式
2015/05/22 职场文书
聘任书范文大全
2015/09/21 职场文书
2016年小学生寒假总结
2015/10/10 职场文书
《童年》读后感(三篇)
2019/08/27 职场文书