python用正则表达式提取/匹配中文汉字
作者:一位代码 发布时间:2021-06-12 23:45:50
标签:正则表达式,匹配,中文
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(韩文)
来源:https://blog.csdn.net/LHJCSDNYL/article/details/122164430
0
投稿
猜你喜欢
- 注:本文所说的视觉设计师专指网页视觉设计师。网页设计师与平面设计师都归类为设计师,其实这两个职业是跨行业的,虽然有很多设计师一直在跨行业工作
- 链表一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结
- 本文实例讲述了python实现class对象转换成json字典的方法。分享给大家供大家参考,具体如下:# -*- encoding: UTF
- 前言当数据库中存量数据较多时,或者是在批量插入操作时,很容易出现插入重复数据的问题。一、三种方法在 mysql 中,当存在主键冲突或唯一键冲
- 一、什么是线性回归1.线性回归简述线性回归,是一种趋势,通过这个趋势,我们能预测所需要得到的大致目标值。线性关系在二维中是直线关系,三维中是
- 前言mysql中的explain命令可以用来查看sql语句是否使用了索引,用了什么索引,有没有做全表扫描。可以帮助我们优化查询语句。expl
- 前言昨天写小项目的时候遇到了一个需求:把txt文档的数据导入到mysql数据库中,开始本来想直接用Mysql Workbench导入TXT文
- 一、简介项目中用到了MySQL,参考网上的例子做了安装和基本使用,本文简单的介绍一下。二、环境准备操作系统:Win10三、教程1、下载安装包
- CSS中最常用的布局类属性,一个是Float(CSS浮动属性Float详解),另一个就是CSS定位属性Position。1. positio
- 本文实例讲述了Python装饰器用法。分享给大家供大家参考,具体如下:无参数的装饰器#coding=utf-8def log(func):
- 前言PHP5.3之后支持了类似Java的jar包,名为phar。用来将多个PHP文件打包为一个文件。首先需要修改php.ini配置将phar
- 注:Unicode相关知识的详细介绍请参考UTF-8, UTF-16, UTF-32 & BOM。 对于UTF-8/16/32而言,
- vscode检测到#include错误,请更新includePath。解决方法最近电脑重做,重新安装了一边vscode,但是写代码的时候发现
- 用的昨天刚接触到的库,在windows下通过paramiko来登录linux系统并执行了几个命令,基本算是初试成功,后面会接着学习的。代码:
- 1. 如何阻止事件冒泡 //非IE if (event && event.stopPropagation) event.st
- 我们使用 python setup.py install 来安装python包,但是如何卸载呢?只能手动删除安装的文件可以使用如下命令pyt
- 本文实例讲述了Python聚类算法之凝聚层次聚类。分享给大家供大家参考,具体如下:凝聚层次聚类:所谓凝聚的,指的是该算法初始时,将每个点作为
- 部署apache服务的步骤:准备环境:关闭防火墙 :service iptables stop设置开机关闭防火墙:chkconfig ipt
- 那怎么开始设计一个合格的类呢,一开始就写class{}的都错了,正确的是什么都不写,而是假设这个类已经存在,这个对象已经存在,各种属性方法都
- 准备工作VUE开发工具:Visual studio Code倾斜摄影转换工具:CesiumLab—下载地址:http:/