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中capitalize()与title()的区别详解
Dec 09 Python
TensorFlow如何实现反向传播
Feb 06 Python
Python3实现的简单验证码识别功能示例
May 02 Python
TensorFlow实现iris数据集线性回归
Sep 07 Python
python 实现识别图片上的数字
Jul 30 Python
centos7之Python3.74安装教程
Aug 15 Python
解决Django migrate不能发现app.models的表问题
Aug 31 Python
Python 使用 prettytable 库打印表格美化输出功能
Dec 26 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
Feb 25 Python
jupyter notebook 恢复误删单元格或者历史代码的实现
Apr 17 Python
python实现五子棋程序
Apr 24 Python
用Python实现童年贪吃蛇小游戏功能的实例代码
Dec 07 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获得用户使用的代理服务器ip即真实ip
2006/12/31 PHP
PHP+shell脚本操作Memcached和Apache Status的实例分享
2016/03/11 PHP
利用PHP生成静态html页面的原理
2016/09/30 PHP
Yii2表单事件之Ajax提交实现方法
2017/05/04 PHP
ExtJS 2.0 实用简明教程之布局概述
2009/04/29 Javascript
jQuery 改变CSS样式基础代码
2010/02/11 Javascript
jQuery Validation插件remote验证方式的Bug解决
2010/07/01 Javascript
JS分页控件 可用于无刷新分页
2013/07/23 Javascript
JS如何将数字类型转化为没3个一个逗号的金钱格式
2014/01/27 Javascript
JavaScript 开发工具webstrom使用指南
2014/12/09 Javascript
js实现仿百度风云榜可重复多次调用的TAB切换选项卡效果
2015/08/31 Javascript
jQuery使用$获取对象后检查该对象是否存在的实现方法
2016/09/04 Javascript
VUE使用vuex解决模块间传值问题的方法
2017/06/01 Javascript
jquery实现选项卡切换代码实例
2019/05/14 jQuery
vue渲染方式render和template的区别
2020/06/05 Javascript
解决vue项目input输入框双向绑定数据不实时生效问题
2020/08/05 Javascript
Python实现二分法算法实例
2015/02/02 Python
Python实现的微信公众号群发图片与文本消息功能实例详解
2017/06/30 Python
Python获取昨天、今天、明天开始、结束时间戳的方法
2018/06/01 Python
Python面向对象之类和对象实例详解
2018/12/10 Python
pyQT5 实现窗体之间传值的示例
2019/06/20 Python
Python循环结构的应用场景详解
2019/07/11 Python
解决python flask中config配置管理的问题
2019/07/26 Python
Python将string转换到float的实例方法
2019/07/29 Python
pytorch 实现将自己的图片数据处理成可以训练的图片类型
2020/01/08 Python
用python获取txt文件中关键字的数量
2020/12/24 Python
一款基于css3的动画按钮代码教程
2014/11/23 HTML / CSS
微信浏览器左上角返回按钮拦截功能
2017/11/21 HTML / CSS
蹦床仓库:Trampoline Warehouse
2018/12/06 全球购物
查询优化的一般准则有哪些
2015/03/08 面试题
Java如何读取CLOB字段
2013/10/10 面试题
思想政治自我鉴定
2013/10/06 职场文书
海飞丝广告词
2014/03/20 职场文书
七年级数学教学反思
2016/02/17 职场文书
python文件名批量重命名脚本实例代码
2021/04/22 Python
MySQL 使用事件(Events)完成计划任务
2021/05/24 MySQL