• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >正则表达式 > Python 中文正则表达式笔记

Python 中文正则表达式笔记

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了python 正则表达式,python正则表达式教程,python正则表达式语法,python正则表达式匹配,python正则表达式实例等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

从字符串的角度来说,中文不如英文整齐、规范,这是不可避免的现实。本文结合网上资料以及个人经验,以 python 语言为例,稍作总结。欢迎补充或挑错。
一点经验
可以使用 repr()函数查看字串的原始格式。这对于写正则表达式有所帮助。
Python 的 re模块有两个相似的函数:re.match(), re.search 。两个函数的匹配过程完全一致,只是起点不同。match只从字串的开始位置进行匹配,如果失败,它就此放弃;而search则会锲而不舍地完全遍历整个字串中所有可能的位置,直到成功地找到一个匹配,或者搜索完字串,以失败告终。如果你了解match的特性(在某些情况下比较快),大可以自由用它;如果不太清楚,search通常是你需要的那个函数。
从一堆文本中,找出所有可能的匹配,以列表的形式返回,这种情况用findall()这个函数。例子见后面的代码。
utf8下,每个汉字占据3个字符位置,正则式为[\x80-\xff]{3},这个都知道了吧。
unicode下,汉字的格式如\uXXXX,只要找到对应的字符集的范围,就能匹配相应的字串,方便从多语言文本中挑出所需要的某种语言的文本。不过,对于像日文这样的粘着语,既有中文字符,又有平假名片假名,或许结果会有所偏差。
两种字符类可以并列在一起使用,例如,平假名、片假名、中文的放在一起,u"[\u4e00-\u9fa5\u3040-\u309f\u30a0-\u30ff]+",来自定义所需要匹配的文本。
匹配中文时,正则表达式和目标字串的格式必须相同。这一点至关重要。或者都用默认的utf8,此时你不用额外做什么;如果是unicode,就需要在正则式之前加上u""格式。
可以这样定义unicode字符串:string=u"我爱正则表达式"。如果字串不是unicode的,可以使用unicode()函数转换之。如果你知道源字串的编码,可以使用newstr=unicode(oldstring, original_coding_name)的方式转换,例如 linux 下常用unicode(string, "utf8"),windows 下或许会用cp936吧,没测试。
例程序
</div>

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 浅析正则表达式中的lastIndex以及预查
  • 读懂正则表达式就这么简单
  • 利用正则表达式判断一个给定的字符是否是回文
  • python 正则表达式学习小结
  • 正则表达式性能优化方法(高效正则表达式书写)
  • 浅析正则表达式-替换原则(.NET) 图文
  • 日常收集整理正则表达式验证大全
  • Python正则表达式之基础篇
  • 基于Python正则表达式提取搜索结果中的站点地址
  • 正则表达式匹配解析过程探讨分析(正则表达式匹配原理)

相关文章

  • 2017-05-11正则替换换行符和把 br 替换成换行符
  • 2017-05-11正则表达式m修饰符(多行匹配)
  • 2017-05-11比较常用的几个正则表达式匹配数字(收藏)
  • 2017-05-11如何删除文本框里的文字内容中段落之间多余的分行
  • 2017-05-11正则表达式号码靓号类型判断代码
  • 2017-05-11收集一些常用的正则表达式(匹配中文字符、匹配双字节字符、匹配HTML标记、匹配空行 and so on~~~)
  • 2017-05-11最全最实用的正则表达式大全分享
  • 2017-05-11深度分析正则(pcre)最大回溯/递归限制
  • 2017-05-11正则表达式不包含属性
  • 2017-05-11编写高质量的js之正确理解正则表达式回溯

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 正则表达式 传智播客学习
    • js验证email的正则
    • 匹配中文的正则(GB2312/utf-8)
    • Java正则表达式提取字符的方法实例
    • js 常用正则表达式表单验证代码
    • JavaScript系列文章:详解正则表达式基本知识
    • 正则表达式——详细讲解平衡组
    • eregi_replace与preg_replace 函数代码的用法比较
    • 修改月光博客网站中PHP常用正则表达式中出现的错误
    • 正则表达式中\w不能识别中文

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有