栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python实用技法第29篇:用正则表达式处理Unicode字符

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python实用技法第29篇:用正则表达式处理Unicode字符

我们正在使用正则表达式处理文本,但是需要考虑处理Unicode字符。

默认情况下re模块已经对某些Unicode字符类型有了基本的认识。例如,d已经可以匹配任意Unicode数字字符了:

import re
num=re.compile('d+')

str1='123'
str2='u0661u0662u0663'

print(num.match(str1))
print(num.match(str2))

结果:



如果需要在模式字符串中包含指定的Unicode字符,可以针对Unicode字符使用转义序列(例如uFFFF或UFFFFFFF)。比如,这里有一个正则表达式在多个不同的阿拉伯代码页中匹配所有的字符:

re.compile('[u0600-u06ffu0750-u077fu08a0-u08ff]+')
Python资源分享qun 784758214 ,内有安装包,PDF,学习视频,这里是Python学习者的聚集地,零基础,进阶,都欢迎

当执行匹配和搜索操作时,一个好主意是首先将所有的文本都统一表示为标准模式(见上一节)。但是,同样重要的是需要注意一些特殊情况,例如,当不区分大小写的匹配和大写转换匹配联合起来时。

把Unicode和正则表达式混在一起使用绝对能让人头疼欲裂,如果真的要这么做,应该考虑安装第三方的正则表达式库

这些第三方库针对Unicode大写转换提供了完整的支持,还包括其他各种有趣的特性,包括近似匹配。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/220664.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号