循序渐进学习 Python 正则表达式(1)


按部就班学习 Python 正则表达式(1)

1. 简介

正则表达式(re)模块从 Python 1.5  开始加入,并且采取了 Perl 风格的正则表达式匹配模式(patterns)。在初期的 Python 版本中,正则表达式使用的是 regex 模块,它使用的是 Emacs 风格的匹配模式。在 Python 2.5 中,regex 模块被完全移除。

正则表达式(称为,REs,regexes,或 regex patterns)本质上是1门小的,非常特别的嵌入到 Python 中的编程语言,在 Python 的 re 模块中。你可使用这门小的语言来指定你想匹配的字符串的集合符合的规则;这个字符串集合可能包括英文句子,或电子邮件地址,Tex 命令,或其他你想要的东西。然后你就能够问类型这样的问题:“这个字符串匹配给定的模式吗?”,或:“这个字符串中有某些部份匹配这个模式吗”。你也能够使用正则表达式(REs)通过量种方式来修改或分割字符串。

正则表达式模式会被编译成1串字节码,然后传给1个由 C 言语写的匹配引擎来履行。对高级用法而言,可能需要更多留意对1个给定的 RE 正则表达式引擎会如何履行,以何种方式写出的正则表达式产生的字节码履行更快。优化不是本文要讨论的内容,由于这需要你对匹配引擎内部机制有很好的理解。

正则表达式言语非常小,且有限制,其实不是所有字符串处理的任务都能使用正则表达式完成。还有1些任务可使用正则表达式完成,但是却很复杂。这类情况下,你还是最好写Python 代码来处理;虽然这些代码处理速度比复杂的正则表达式慢,但是却更好理解。

2. 简单的模式(patterns)

我们将从最简单的正则表达式开始学起。由于正则表达式是用来处理字符串的,我们就从最多见的任务——匹配字符,开始。

匹配字符

大多数字母和字符都会简单的匹配它们本身。例如,正则表达式 test 会精确的匹配字符串 test(你可以开启大小写不敏感模式,来使得这个 RE 也能够匹配字符串 Test 或 TEST,这个后面会再提)。

这条规则也有例外:1些字符是特殊的元字符,它们不会匹配其本身。它们的出现表明应当匹配1些不同寻常的东西,或它们会通太重复正则表达式的其他部份或改变其他部份的意义来影响正则表达式。本文的大部份是在讨论这些元字符和它们的用处。

波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » 循序渐进学习 Python 正则表达式(1)

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡