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中 ? : 三元表达式的使用介绍
Oct 09 Python
python中的错误处理
Apr 10 Python
深入解答关于Python的11道基本面试题
Apr 01 Python
解决Python下imread,imwrite不支持中文的问题
Dec 05 Python
python实现三维拟合的方法
Dec 29 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
Jan 14 Python
由Python编写的MySQL管理工具代码实例
Apr 09 Python
Django admin.py 在修改/添加表单界面显示额外字段的方法
Aug 22 Python
Python Sphinx使用实例及问题解决
Jan 17 Python
关于tf.TFRecordReader()函数的用法解析
Feb 17 Python
python程序文件扩展名知识点详解
Feb 27 Python
Django restful framework生成API文档过程详解
Nov 12 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知道与问问的采集插件代码
2010/10/12 PHP
PHP生成随机用户名和密码的实现代码
2013/02/27 PHP
深入PHP运行环境配置的详解
2013/06/04 PHP
Win7下手动安装apache2.2、php5.4笔记
2015/04/03 PHP
PHP简单读取xml文件的方法示例
2017/04/20 PHP
jquery选择器-根据多个属性选择示例代码
2013/10/21 Javascript
JS实现切换标签页效果实例代码
2013/11/01 Javascript
javascript中setTimeout使用指南
2015/07/26 Javascript
D3.js中data(), enter() 和 exit()的问题详解
2015/08/17 Javascript
详述JavaScript实现继承的几种方式(推荐)
2016/03/22 Javascript
浅析Bootstrip的select控件绑定数据的问题
2016/05/10 Javascript
教你如何在Node.js中使用jQuery
2016/08/28 Javascript
JS轮播图中缓动函数的封装
2020/11/25 Javascript
easyUI下拉列表点击事件使用方法
2017/05/18 Javascript
Angular.js中下拉框实现渲染html的方法
2017/06/18 Javascript
教你5分钟学会用requirejs(必看篇)
2017/07/25 Javascript
浅谈Vue-cli单文件组件引入less,sass,css样式的不同方法
2018/03/13 Javascript
node使用request请求的方法
2019/12/20 Javascript
Jquery Datatables的使用详解
2020/01/30 jQuery
利用js canvas实现五子棋游戏
2020/10/11 Javascript
three.js中多线程的使用及性能测试详解
2021/01/07 Javascript
[02:38]DOTA2英雄基础教程 噬魂鬼
2014/01/03 DOTA
Python计算程序运行时间的方法
2014/12/13 Python
对python中xlsx,csv以及json文件的相互转化方法详解
2018/12/25 Python
Python 实现文件打包、上传与校验的方法
2019/02/13 Python
python使用tkinter库实现五子棋游戏
2019/06/18 Python
用Python获取摄像头并实时控制人脸的实现示例
2019/07/11 Python
Python enumerate函数遍历数据对象组合过程解析
2019/12/11 Python
Python中bisect的用法及示例详解
2020/07/20 Python
python 解决selenium 中的 .clear()方法失效问题
2020/09/01 Python
python连接mongodb数据库操作数据示例
2020/11/30 Python
Stutterheim瑞典:瑞典高级外套时装品牌
2019/06/24 全球购物
医学院四年学习生活的自我评价
2013/11/06 职场文书
2014年采购部工作总结
2014/11/20 职场文书
Jupyter Notebook内使用argparse报错的解决方案
2021/06/03 Python
python3 字符串str和bytes相互转换
2022/03/23 Python