python用正则表达式提取/匹配中文汉字

 更新时间:2022年07月05日 15:38:37   作者:一位代码  
在使用Python的过程中,由于需求原因,我们经常需要在文本或者网页元素中用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正则提取匹配中文内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python正则简单实例分析

    Python正则简单实例分析

    这篇文章主要介绍了Python正则简单实例,具体分析了Python针对字符串的简单正则匹配测试中遇到的问题与相关注意事项,需要的朋友可以参考下
    2017-03-03
  • Django项目基础配置和基本使用过程解析

    Django项目基础配置和基本使用过程解析

    这篇文章主要介绍了Django项目基础配置和基本使用过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Django模板获取field的verbose_name实例

    Django模板获取field的verbose_name实例

    这篇文章主要介绍了Django模板获取field的verbose_name实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Python Pandas多种添加行列数据方法总结

    Python Pandas多种添加行列数据方法总结

    在进行数据分析时经常需要按照一定条件创建新的数据列,然后进行进一步分析,下面这篇文章主要给大家介绍了关于Python Pandas多种添加行列数据方法的相关资料,需要的朋友可以参考下
    2022-07-07
  • python tornado修改log输出方式

    python tornado修改log输出方式

    今天小编就为大家分享一篇python tornado修改log输出方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • 使用Python统计代码运行时间的两种方法

    使用Python统计代码运行时间的两种方法

    有时候我们需要记录一个程序运行的时间,下面这篇文章主要给大家介绍了关于使用Python统计代码运行时间的两种方法,文中通过图文以及示例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • python实现数值积分的Simpson方法实例分析

    python实现数值积分的Simpson方法实例分析

    这篇文章主要介绍了python实现数值积分的Simpson方法,实例分析了Python实现积分运算的相关技巧,需要的朋友可以参考下
    2015-06-06
  • python列表推导式操作解析

    python列表推导式操作解析

    这篇文章主要介绍了python列表推导式操作解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • 一文搞懂Python中的进程,线程和协程

    一文搞懂Python中的进程,线程和协程

    并发编程是实现多任务协同处理,改善系统性能的方式。Python中实现并发编程主要依靠进程、线程和协程,本文将通过示例详解三者的区别,感兴趣的可以了解一下
    2022-05-05
  • Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)

    Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)

    这篇文章主要介绍了Python文件操作中进行字符串替换的方法(保存到新文件/当前文件) ,本文给大家介绍两种方法,每种方法给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06

最新评论