Python
不止冬雷和夏雪
这个作者很懒,什么都没留下…
展开
-
Python3 如何优雅地使用正则表达式(详解一)
正则表达式介绍正则表达式(Regular expressions 也称为 REs,或 regexes 或 regex patterns)本质上是一个微小的且高度专业化的编程语言。它被嵌入到 Python 中,并通过 re 模块提供给程序猿使用。使用正则表达式,你需要指定一些规则来描述那些你希望匹配的字符串集合。这些字符串集合可能包含英语句子、 e-mail 地址、TeX 命令,或任何你想要的东东...转载 2019-07-01 17:38:22 · 908 阅读 · 0 评论 -
Python3 如何优雅地使用正则表达式(详解二)
使用正则表达式现在我们开始来写一些简单的正则表达式吧。Python 通过 re 模块为正则表达式引擎提供一个接口,同时允许你将正则表达式编译成模式对象,并用它们来进行匹配。小甲鱼解释:re 模块是使用 C 语言编写,所以效率比你用普通的字符串方法要高得多;将正则表达式进行编译(compile)也是为了进一步提高效率;后边我们会经常提到“模式”,指的就是正则表达式被编译成的模式对象。编译正则表达...转载 2019-07-01 17:39:50 · 214 阅读 · 0 评论 -
Python3 如何优雅地使用正则表达式(详解三)
模块级别的函数使用正则表达式也并非一定要创建模式对象,然后调用它的匹配方法。因为,re 模块同时还提供了一些全局函数,例如 match(),search(),findall(),sub() 等等。这些函数的第一个参数是正则表达式字符串,其他参数跟模式对象同名的方法采用一样的参数;返回值也一样,同样是返回 None 或者匹配对象。>>> print(re.match(r'...转载 2019-07-01 17:40:44 · 143 阅读 · 0 评论 -
Python3 如何优雅地使用正则表达式(详解四)
更多强大的功能到目前为止,我们只是介绍了正则表达式的一部分功能。在这一篇中,我们会学习到一些新的元字符,然后再教大家如何使用组来获得被匹配的部分文本。更多元字符还有一些元字符我们没有讲到,接下来小甲鱼一一为大家讲解。有些元字符它们不匹配任何字符,只是简单地表示成功或失败,因此这些字符也称之为零宽断言。例如\b表示当前位置位于一个单词的边界,但\b并不能改变位置。因此,零宽断言不应该...转载 2019-07-01 17:41:34 · 138 阅读 · 0 评论 -
Python3 如何优雅地使用正则表达式(详解五)
非捕获组命名组精心设计的正则表达式可能会划分很多组,这些组不仅可以匹配相关的子串,还能够对正则表达式本身进行分组和结构化。在复杂的正则表达式中,由于有太多的组,因此通过组的序号来跟踪和使用会变得困难。有两个新的功能可以帮你解决这个问题——非捕获组和命名组——它们都使用了一个公共的正则表达式扩展语法。我们先来看看这个表达式扩展语法是什么。正则表达式的扩展语法众所周知,Perl 5 为标准的正则...转载 2019-07-01 17:42:15 · 183 阅读 · 0 评论 -
Python3 如何优雅地使用正则表达式(详解六)
修改字符串我们已经介绍完如何对字符进行搜索,接下来我们讲讲正则表达式如何修改字符串。正则表达式使用以下方法修改字符串:方法 用途 split() 在正则表达式匹配的地方进行分割,并返回一个列表 sub() 找到所有匹配的子字符串,并替换为新的内容 subn() 跟 sub() 干一样的勾当,但返回新的字符串以及替换的数目 分割字符串正则表达式...转载 2019-07-01 17:43:02 · 162 阅读 · 0 评论 -
Python3 如何优雅地使用正则表达式(详解七)
常见问题正则表达式是一个非常强大的工具,但在有些时候它并不能直观地按照你的意愿来运行。本篇我们将指出一些最常见的错误。使用字符串方法有时使用 re 模块是个错误!如果你匹配一个固定的字符串或者单个字符类,并且你没有使用 re 的任何标志(像 IGNORECASE 标志),那么就没有必要使用正则表达式了。字符串有一些方法是对固定字符串进行操作的,并且它们通常比较快。因为它们都是独立优化的 C ...转载 2019-07-01 17:43:46 · 151 阅读 · 0 评论