ad

《Python学习笔记 从入门到实战》_更了解Python的途径之一_11.1.6 实现最短文本匹配

网友投稿 134 2023-11-07

【摘要】 本书摘自《Python学习笔记 从入门到实战》一书中第11章,第1节,由张学建编著。

11.1.6 实现最短文本匹配

《Python学习笔记 从入门到实战》_更了解Python的途径之一_11.1.6 实现最短文本匹配

当在Python 程序中使用正则表达式对文本模式进行匹配时,被识别出来的是最长的可能 匹配。要想将匹配结果修改为最短的匹配,此时需要用到正则表达式的知识。例如在下面的 实例文件 duan.py 中,演示了使用正则表达式实现最短文本匹配的过程。

实例11-7:使用正则表达式实现最短文本匹配

源码路径:下载包\daima\11\11-7

①中的模式r’\”(*)”’想去匹配包含在引号中的文本,但是,星号“*”在正则表达 式中采用的是贪心策略,所以匹配过程是基于找出最长的可能匹配来进行的。

②在text2 的掩饰代码中,错误地匹配成两个被引号包围的字符串。

③在模式中的星号“*”后面加上问号“?”修饰符,这样匹配过程就不会以贪心方式进行, 这样就会生成出最短的匹配。11.1.7 处理 Unicode 文本

当在 Python 程序中处理 Unicode 字符串时,需要确保所有的字符串都拥有相同的底层表 示。在 Unicode 字符串中,有一些特定的字符可以被表示成多种合法的代码点序列。例如在 下面的实例文件 teshu.py 中,演示了 Unicode 字符串的代码点序列表示方法。

实例11-8: Unicode 字符串的代码点序列表示方法

源码路径:下载包\daima\11\11-8

在 Python程序中,对于一个使用比较字符串的程序来说,因为同一个文本拥有多种不 同的表示形式,这个问题给开发者带来了极大的困扰。为了解决这个问题,需要先将文本统 一表示为一个规范形式,这在 Python 中通常通过模块 unicodedata 实现。

在Python 语言中,通过使用模块unicodedata中的函数 normalize) 实现归一化操作。归 一化的目标是把需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内。 首先归一化是为了后面数据处理的方便,其次是保证程序运行时收敛加快。归一化的具体作 用是归纳统一样本的统计分布性。归一化在0~1之间是统计的概率分布,归一化在某个区 间上是统计的坐标分布。归一化有同一、统一和合一的意思。

注意:归一化的目的简而言之是使得没有可比性的数据变得具有可比性,同时又保持相 比较的两个数据之间的相对关系,如大小关系;或是为了作图,原来很难在一张图上作出来, 归一化后就可以很方便地给出图上的相对位置等。

例如在下面的实例文件中,演示了使用函数 normalize) 归一化 Unicode 字符串的过程。

实例11-9:使用函数 normalizeO 归一化Unicode 字符串

源码路径:下载包\daima\11\11-9

11.1.8 删除字符串中的字符

在 Python 程序中,如果想在字符串的开始、结尾或中间删除掉不需要的字符或空格,

可使用内置模块 string中的函数stripO从字符串的开始和结尾处去掉字符。函数 IstripO和 rstripO 可以分别从左侧或从右侧开始执行删除字符的操作。

(1)函数 strip(O

函数stripO的功能是删除字符串头尾指定的字符(默认为空格),语法格式如下所示: str.strip([chars]);

参数 chars 表示删除字符串头尾指定的字符。

(2)函数1stripO

函数 Istrip) 的功能是截取掉字符串左边的空格或指定字符,其语法格式如下所示。 str.lstrip([chars])

参数chars 用于设置截取的字符,返回值是截掉字符串左边的空格或指定字符后生成的 新字符串。

(3)函数 rstripO

函数rstripO的功能是删除string 字符串末尾的指定字符(默认为空格),语法格式如下 所示。

str.rstrip([chars])

参数chars 用于指定删除的字符(默认为空格),返回值是删除 string字符串末尾的指 定字符后生成的新字符串。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《自己动手写 Python 虚拟机》_更理解虚拟机的意义_2.4.1 构建AST
下一篇:跟着一起学《Excel VBA跟卢子一起学 早做完 不加班 基础入门版》_3.4.1 统一购票进门: With…End With
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×