Python正则提取和匹配中文的方法是什么
Admin 2022-08-02 群英技术资讯 465 次浏览
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
正则表达式匹配中文汉字,在实际应用中十分常见。
比如:爬虫网页文本提取、验证用户输入标准等。
以下面文本字符串为例,匹配出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(韩文)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家介绍了Keras利用efficientnet系列模型搭建yolov3目标检测平台的过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
循环是编程学习需要掌握的内容,对此这篇文章就给大家分享关于Python循环结构的内容,主要介绍while循环、for循环、break语句、continue语句等等,对python循环结构不是很了解的朋友可以参考参考。
Matplotlib作为用于数据可视化的Python软件包,能够绘制多种2D图像,它使用简单、代码清晰易懂,深受广大技术爱好者喜爱。本文主要介绍了通过 Matplotlib绘制振动图、箱型图、提琴图,需要的朋友可以参考一下
这篇文章主要介绍了Pytest allure 命令行参数的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
在Python中,字符串是最常用的数据类型。引号('或')可用于创建字符串。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008