Python正则提取和匹配中文的方法是什么

Admin 2022-08-02 群英技术资讯 306 次浏览

这篇文章主要介绍“Python正则提取和匹配中文的方法是什么”的相关知识,下面会通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python正则提取和匹配中文的方法是什么”文章能帮助大家解决问题。

 



python用正则表达式提取中文

Python re正则匹配中文,其实非常简单,把中文的unicode字符串转换成utf-8格式就可以了,然后可以在re中随意调用

unicode中中文的编码为/u4e00-/u9fa5,因此正则表达式u”[\u4e00-\u9fa5]+”可以表示一个或者多个中文字符

>>> import re

>>> s='中文:123456aa哈哈哈bbcc'.decode('utf8')
>>> s
u'\u4e2d\u6587\uff1a123456aa\u54c8\u54c8\u54c8bbcc'
>>> print s
中文:123456aa哈哈哈bbcc

>>> re.match(u"[\u4e00-\u9fa5]+",s)
<_sre.SRE_Match object at 0xb77742c0>

>>> pat='中文'.decode("utf8")
>>> re.search(pat,s)
<_sre.SRE_Match object at 0x16a16df0>

>>> newpat='这里是中文内容'.decode("utf8")

>>> news=re.sub(pat,newpat,s)
>>> print news

这里是中文内容:123456aa哈哈哈bbcc

python正则如何匹配中文汉字

正则表达式匹配中文汉字,在实际应用中十分常见。

比如:爬虫网页文本提取、验证用户输入标准等。

以下面文本字符串为例,匹配出astr这个字符串中的所有汉字。

import re
astr = '''aaaaa何时when 杖尔看see南雪snow,我me与梅花plum blossom两白头'''

下面介绍两种方法(本文环境为python3)

一、使用Unicode编码来匹配中文

常见的中文Unicode编码范围:\u4e00-\u9fa5

实现匹配代码:re.findall(’[\u4e00-\u9fa5]’, astr)

import re
astr = '''aaaaa何时when 杖尔看see南雪snow,我me与梅花plum blossom两白头'''
res = re.findall('[\u4e00-\u9fa5]', astr)
print(res)

匹配结果:

二、直接使用中文汉字实现中文匹配

没使用过可能还真不知道,中文匹配还可以这样

实现匹配代码:re.findall(’[一-龥]’, astr)

import re
astr = '''aaaaa何时when 杖尔看see南雪snow,我me与梅花plum blossom两白头'''
res = re.findall('[一-龥]', astr)
print(res)

匹配结果:

注:其实这里“一”对应的Unicode编码就是“\u4e00”,“龥”(yù)对应的Unicode编码就是“\u9fa5”。

常见非英文字符Unicode编码范围:

u4e00-u9fa5 (中文)
u0800-u4e00 (日文)
uac00-ud7ff(韩文)

总结


感谢各位的阅读,以上就是“Python正则提取和匹配中文的方法是什么”的内容了,经过本文的学习后,相信大家对Python正则提取和匹配中文的方法是什么都有更深刻的体会了吧。这里是群英网络,小编将为大家推送更多相关知识点的文章,欢迎关注! 群英智防CDN,智能加速解决方案

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服