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中使用dom模块生成XML文件示例
Apr 05 Python
将Python中的数据存储到系统本地的简单方法
Apr 11 Python
python从网络读取图片并直接进行处理的方法
May 22 Python
python安装oracle扩展及数据库连接方法
Feb 21 Python
Python eval的常见错误封装及利用原理详解
Mar 26 Python
python openCV获取人脸部分并存储功能
Aug 28 Python
python os.path.isfile()因参数问题判断错误的解决
Nov 29 Python
tensorflow求导和梯度计算实例
Jan 23 Python
Python API len函数操作过程解析
Mar 05 Python
Python startswith()和endswith() 方法原理解析
Apr 28 Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
Jun 28 Python
Python 无限级分类树状结构生成算法的实现
Jan 21 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
全国FM电台频率大全 - 17 湖北省
2020/03/11 无线电
php获取QQ头像并显示的方法
2014/12/23 PHP
thinkPHP5.0框架简单配置作用域的方法
2017/03/17 PHP
PHP将整数数字转换为罗马数字实例分享
2019/03/17 PHP
javascript学习笔记(三)BOM和DOM详解
2014/09/30 Javascript
JQuery中使用.each()遍历元素学习笔记
2014/11/08 Javascript
javascript 兼容各个浏览器的事件
2015/02/04 Javascript
javascript模拟评分控件实现方法
2015/05/13 Javascript
js实现无缝滚动图(可控制当前滚动的方向)
2017/02/22 Javascript
Angular-Ui-Router+ocLazyLoad动态加载脚本示例
2017/03/02 Javascript
Echarts基本用法_动力节点Java学院整理
2017/08/11 Javascript
解决layui富文本编辑器图片上传无法回显的问题
2019/09/18 Javascript
Vue路由守卫之路由独享守卫
2019/09/25 Javascript
JavaScript判断数组类型的方法
2019/10/23 Javascript
浅析 Vue 3.0 的组装式 API(一)
2020/08/31 Javascript
vue浏览器返回监听的具体步骤
2021/02/03 Vue.js
[02:51]DOTA2英雄基础教程 风暴之灵
2013/12/23 DOTA
[58:23]LGD vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python通过pil为png图片填充上背景颜色的方法
2015/03/17 Python
python中django框架通过正则搜索页面上email地址的方法
2015/03/21 Python
Python中异常重试的解决方案详解
2017/05/05 Python
tensorflow构建BP神经网络的方法
2018/03/12 Python
python 将数据保存为excel的xls格式(实例讲解)
2018/05/03 Python
tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法
2018/07/27 Python
对pytorch网络层结构的数组化详解
2018/12/08 Python
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
2018/12/24 Python
python多线程同步实例教程
2019/08/11 Python
pandas中遍历dataframe的每一个元素的实现
2019/10/23 Python
Django 框架模型操作入门教程
2019/11/05 Python
春秋淹城导游词
2015/02/11 职场文书
销售经理助理岗位职责
2015/04/13 职场文书
2015年人事科工作总结
2015/04/28 职场文书
运动会开幕式通讯稿
2015/07/18 职场文书
go 原生http web 服务跨域restful api的写法介绍
2021/04/27 Golang
golang DNS服务器的简单实现操作
2021/04/30 Golang
vue实现在data里引入相对路径
2022/06/05 Vue.js