贵妃网贵妃网

贵妃网 - 时尚原创门户网站
www.962068.com
文章96432浏览16199889本站已运行6114

Python正则表达式的7个使用典范

原标题:Python正则表达式的7个应用典范

将介绍Python中对字符串进行搜刮和查找的一些办法,评论辩论若何应用分组来处理我们查找到的匹配对象的子项。

应用的Python中正则表达式的模块平日叫做‘re’。

作为一个概念而言,正则表达式对于Python来说并不是独有的。然则,Python中的正则表达式在实际应用过程中照样有一些渺小的差别。

1. Python中的原始类型字符串

Python编译器用‘’(反斜杠)来表示字符串常量中的转义字符。

假如反斜杠后面跟着一串编译器可以或许识其余特别字符,那么全部转义序列将被调换成对应的特别字符(例如,‘\n’将被编译器调换成换行符)。

但这给在Python中应用正则表达式带来了一个问题,因为在‘re’模块中也应用反斜杠来转义正则表达式中的特别字符(比如*和+)。

这两种方法的混淆意味着有时刻你不得不转义转义字符本身(当特别字符能同时被Python和正则表达式的编译器识其余时刻),但在其他时刻你不必这么做(假如特别字符只能被Python编译器辨认)。

与其将我们的心思放在去弄懂到底须要若干个反斜杠,我们可以应用原始字符串来替代。

原始类型字符串可以简单的经由过程在通俗字符串的双引号前面加一个字符‘r’来创建。当一个字符串是原始类型时,Python编译器不会对其测验测验做任何的调换。本质上来讲,你在告诉编译器完全不要去干涉你的字符串。

这是一个通俗字符串

这是一个原始类型字符串。

‘re’模块供给了几个办法对输入的字符串进行确切的查询。我们将会要评论辩论的办法有:

每一个办法都接收一个正则表达式和一个待查找匹配的字符串。让我们更具体的查看这每一个办法从而弄明白他们是若何工作的以及他们各有什么不合。

2. 应用re.match查找 – 匹配开端

6. 应用 mathch.group 经由过程数字分组

让我们先来看一下match()办法。match()办法的工作方法是只有当被搜刮字符串的开首匹配模式的时刻它才能查找到匹配对象。

举个例子,对字符串‘dog cat dog’调用mathch()办法,查找模式‘dog’将会匹配:

我们稍后将更多的评论辩论group()办法。如今,我们只须要知道我们用0作为它的参数调用了它,group()办法返回查找到的匹配的模式。

我还暂且略过了返回的SRE_Match对象,我们很快也将会评论辩论到它。

然则,假如我们对同一个字符串调用math()办法,查找模式‘cat’,则不会找到匹配。

3. 应用re.search查找 – 匹配随便率性地位

search()办法和match()类似,不过search()办法不会限制我们只从字符串的开首查找匹配,是以在我们的示例字符串中查找‘cat’会查找到一个匹配:

7. 应用 match.group 经由过程别号来分组

然而search()办法会在它查找到一个匹配项之后停止持续查找,是以在我们的示例字符串顶用searc()办法查找‘dog’只找到其初次出现的地位。

4. 应用 re.findall – 所有匹配对象

5. 应用 match.start 和 match.end 办法

那么,先前search()和match()办法先前返回给我们的‘match’对象”到底是什么呢?

和只简单的返回字符串的匹配部分不合,search()和match()返回的“匹配对象”,实际上是一个关于匹配子串的包装类。

贵妃网
上一篇: 计算机“换季病”进入高发期,几招教你远离“多事之秋”!
下一篇: 农耕作业导致印尼山火频发,当地呼吸道疾病患者剧增!

相关推荐

隐藏边栏