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 ORM框架SQLAlchemy学习笔记之安装和简单查询实例
Jun 10 Python
Python中optionParser模块的使用方法实例教程
Aug 29 Python
python自动zip压缩目录的方法
Jun 28 Python
python中偏函数partial用法实例分析
Jul 08 Python
python 用lambda函数替换for循环的方法
Jun 09 Python
Python3.6使用tesseract-ocr的正确方法
Oct 17 Python
Python模块的加载讲解
Jan 15 Python
Python TestCase中的断言方法介绍
May 02 Python
Django框架安装方法图文详解
Nov 04 Python
python设置表格边框的具体方法
Jul 17 Python
Python实现Canny及Hough算法代码实例解析
Aug 06 Python
Python实现钉钉/企业微信自动打卡的示例代码
Feb 02 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
德生9700DX电路分析
2021/03/02 无线电
PHP+DBM的同学录程序(4)
2006/10/09 PHP
在PHP3中实现SESSION的功能(一)
2006/10/09 PHP
在PHP中操作Excel实例代码
2010/04/29 PHP
PHP 获取文件路径(灵活应用__FILE__)
2013/02/15 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
2015/03/18 PHP
windows下apache搭建php开发环境
2015/08/27 PHP
php微信开发之百度天气预报
2016/11/18 PHP
PHP实现图片压缩
2020/09/09 PHP
Jquery 学习笔记(一)
2009/10/13 Javascript
JQuery 图片的展开和伸缩实例讲解
2013/04/18 Javascript
JQuery.get提交页面不跳转的解决方法
2015/01/13 Javascript
JS实现三个层重叠点击互相切换的方法
2015/10/06 Javascript
Ionic快速安装教程
2016/06/03 Javascript
详细AngularJs4的图片剪裁组件的实例
2017/07/12 Javascript
angular+ionic返回上一页并刷新页面
2017/08/08 Javascript
JavaScript轮播停留效果的实现思路
2018/05/24 Javascript
ES6 中可以提升幸福度的小功能
2018/08/06 Javascript
layui 上传文件_批量导入数据UI的方法
2019/09/23 Javascript
vant实现购物车功能
2020/06/29 Javascript
介绍Python的@property装饰器的用法
2015/04/28 Python
python数据分析数据标准化及离散化详解
2018/02/26 Python
python中使用psutil查看内存占用的情况
2018/06/11 Python
python对列进行平移变换的方法(shift)
2019/01/10 Python
Django 表单模型选择框如何使用分组
2019/05/16 Python
python小白学习包管理器pip安装
2020/06/09 Python
python中执行smtplib失败的处理方法
2020/07/01 Python
柏林通行证:Berlin Pass
2018/04/11 全球购物
.NET初级开发工程师面试题
2014/04/18 面试题
汽车驾驶求职信
2013/10/25 职场文书
餐饮主管岗位职责
2013/12/10 职场文书
消防器材管理制度
2014/01/28 职场文书
2015年119消防宣传日活动总结
2015/03/24 职场文书
大学生心理健康活动总结
2015/05/08 职场文书
springboot中一些比较常用的注解总结
2021/06/11 Java/Android
Python pygame实现中国象棋单机版源码
2021/06/20 Python