摘要:
常见问题正则表达式是一个非常强大的工具,但在有些时候它并不能直观地按照你的意愿来运行。本篇我们将指出一些最常见的错误。使用字符串方法有时使用 re 模块是个错误!如果你匹配一个固定的字符串或者单个字符类,并且你没有使用 re 的任何标志(像 IGNORECASE 标志),那么就没有必要使用正则表达式... 阅读全文
摘要:
修改字符串我们已经介绍完如何对字符进行搜索,接下来我们讲讲正则表达式如何修改字符串。正则表达式使用以下方法修改字符串:方法用途split()在正则表达式匹配的地方进行分割,并返回一个列表sub()找到所有匹配的子字符串,并替换为新的内容subn()跟 sub() 干一样的勾当,但返回新的字符串以及替... 阅读全文
摘要:
非捕获组命名组精心设计的正则表达式可能会划分很多组,这些组不仅可以匹配相关的子串,还能够对正则表达式本身进行分组和结构化。在复杂的正则表达式中,由于有太多的组,因此通过组的序号来跟踪和使用会变得困难。有两个新的功能可以帮你解决这个问题——非捕获组和命名组——它们都使用了一个公共的正则表达式扩展语法。... 阅读全文
摘要:
更多强大的功能到目前为止,我们只是介绍了正则表达式的一部分功能。在这一篇中,我们会学习到一些新的元字符,然后再教大家如何使用组来获得被匹配的部分文本。更多元字符还有一些元字符我们没有讲到,接下来小甲鱼一一为大家讲解。有些元字符它们不匹配任何字符,只是简单地表示成功或失败,因此这些字符也称之为零宽断言... 阅读全文
摘要:
模块级别的函数使用正则表达式也并非一定要创建模式对象,然后调用它的匹配方法。因为,re 模块同时还提供了一些全局函数,例如 match(),search(),findall(),sub() 等等。这些函数的第一个参数是正则表达式字符串,其他参数跟模式对象同名的方法采用一样的参数;返回值也一样,同样是... 阅读全文
摘要:
使用正则表达式现在我们开始来写一些简单的正则表达式吧。Python 通过 re 模块为正则表达式引擎提供一个接口,同时允许你将正则表达式编译成模式对象,并用它们来进行匹配。小甲鱼解释:re 模块是使用 C 语言编写,所以效率比你用普通的字符串方法要高得多;将正则表达式进行编译(compile)也是为... 阅读全文
摘要:
注:本文翻译自Regular Expression HOWTO,小甲鱼童鞋对此做了一些注释和修改。正则表达式介绍正则表达式(Regular expressions 也称为 REs,或 regexes 或 regex patterns)本质上是一个微小的且高度专业化的编程语言。它被嵌入到 Python... 阅读全文