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抓取淘宝下拉框关键词的方法
Jul 08 Python
Python多进程分块读取超大文件的方法
Apr 13 Python
centos6.7安装python2.7.11的具体方法
Jan 16 Python
遗传算法python版
Mar 19 Python
把csv文件转化为数组及数组的切片方法
Jul 04 Python
解决Python print输出不换行没空格的问题
Nov 14 Python
python 根据时间来生成唯一的字符串方法
Jan 14 Python
python 同时读取多个文件的例子
Jul 16 Python
Python3+Requests+Excel完整接口自动化测试框架的实现
Oct 11 Python
解决TensorFlow GPU版出现OOM错误的问题
Feb 03 Python
Pycharm修改python路径过程图解
May 22 Python
Python json解析库jsonpath原理及使用示例
Nov 25 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使用Image Magick将PDF文件转换为JPG文件的方法
2015/04/01 PHP
PDO::errorCode讲解
2019/01/28 PHP
Laravel 5+ .env环境配置文件详解
2020/04/06 PHP
Prototype使用指南之selector.js说明
2008/10/26 Javascript
使用ImageMagick进行图片缩放、合成与裁剪(js+python)
2013/09/16 Javascript
js 判断图片是否加载完以及实现图片的预下载
2014/08/14 Javascript
推荐10个2014年最佳的jQuery视频插件
2014/11/12 Javascript
js过滤HTML标签完整实例
2015/11/26 Javascript
原生js实现addClass,removeClass,hasClass方法
2016/04/27 Javascript
chrome下判断点击input上标签还是其余标签的实现方法
2016/09/18 Javascript
javascript图片预览和上传(兼容IE)
2017/03/15 Javascript
ES6生成器用法实例分析
2017/04/10 Javascript
vue-router路由参数刷新消失的问题解决方法
2017/06/17 Javascript
js事件委托和事件代理案例分享
2017/07/25 Javascript
react-native使用react-navigation进行页面跳转导航的示例
2017/09/07 Javascript
JS关于刷新页面的相关总结
2018/05/09 Javascript
[14:21]VICI vs EG (BO3)
2018/06/07 DOTA
python多线程http下载实现示例
2013/12/30 Python
centos6.4下python3.6.1安装教程
2017/07/21 Python
python逐行读写txt文件的实例讲解
2018/04/03 Python
python中的decorator的作用详解
2018/07/26 Python
python时间序列按频率生成日期的方法
2019/05/14 Python
python datetime中strptime用法详解
2019/08/29 Python
python实现小世界网络生成
2019/11/21 Python
python实现最速下降法
2020/03/24 Python
基于Python爬取股票数据过程详解
2020/10/21 Python
python matplotlib工具栏源码探析二之添加、删除内置工具项的案例
2021/02/25 Python
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线
2013/08/02 HTML / CSS
全球最大的生存食品、水和装备专用在线市场:BePrepared.com
2020/01/02 全球购物
面试后感谢信
2014/02/01 职场文书
餐厅经理岗位职责和岗位目标
2014/02/13 职场文书
行政处罚告知书
2015/07/01 职场文书
工作自我评价范文
2019/03/21 职场文书
浅谈tf.train.Saver()与tf.train.import_meta_graph的要点
2021/05/26 Python
详解Python+OpenCV进行基础的图像操作
2022/02/15 Python
详解Python中__new__方法的作用
2022/03/31 Python