python中正则表达式指的是什么

  

python中正则表达式指的是什么?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

正则表达式是处理字符串的强大工具。作为一个概念而言,正则表达式对于python来说并不是独有的。但是,python中的正则表达式在实际使用过程中还是有一些细小的差别。

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。

python自1.5版本起增加了再保险模块,它提供Perl风格的正则表达式模式。

再保险模块使python语言拥有全部的正则表达式功能。

编译函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。

再保险模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。

本文是一系列关于python正则表达式文章的其中一部分。在这个系列的第一篇文章中,我们将重点讨论如何使用python中的正则表达式并突出python中一些独有的特性。

我们将介绍python中对字符串进行搜索和查找的一些方法,然后我们讲讨论如何使用分组来处理我们查找到的匹配对象的子项。

我们有兴趣使用的python中正则表达式的模块通常叫做' re # 39;。

在祝辞祝辞,import  re

<强> 1。Python中的原始类型字符串

Python编译器用“\ & # 39;(反斜杠)来表示字符串常量中的转义字符。

如果反斜杠后面跟着一串编译器能够识别的特殊字符,那么整个转义序列将被替换成对应的特殊字符(例如,“\ n # 39;将被编译器替换成换行符)。

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

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

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

原始类型字符串可以简单的通过在普通字符串的双引号前面加一个字符的" # 39;来创建。当一个字符串是原始类型时,Python编译器不会对其尝试做任何的替换。本质上来讲,你在告诉编译器完全不要去干涉你的字符串。

在祝辞祝辞,string =, & # 39;却;能够is  \ nnormal 字符串# 39;   在祝辞祝辞,rawString =, " # 39;以及却;能够is  \ nraw 字符串# 39;   祝辞祝辞祝辞,print 字符串

这是一个普通字符串

在祝辞祝辞print  rawString   以及却;能够is  \ nraw 字符串

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

在Python中使用正则表达式进行查找

' re # 39;模块提供了几个方法对输入的字符串进行确切的查询。我们将会要讨论的方法有:

? re.match ()   ? re.search ()   ? re.findall ()

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

<强> 2。使用再保险。匹配查找——匹配开始

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

举个例子,对字符串的狗猫狗# 39;调用系统由()方法,查找模式的狗# 39;将会匹配:

在祝辞祝辞,re.match(" # 39;狗# 39;,,& # 39;dog  cat 狗# 39;)   & lt; _sre.SRE_Match  object  at  0 xb743e720<祝辞祝辞祝辞,match =, re.match(" # 39;狗# 39;,,& # 39;dog  cat 狗# 39;)   在祝辞祝辞,match.group (0)   & # 39;狗# 39;

我们稍后将更多的讨论组()方法。现在,我们只需要知道我们用0作为它的参数调用了它,集团()方法返回查找到的匹配的模式。

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

但是,如果我们对同一个字符串调用数学()方法,查找模式的猫# 39;,则不会找到匹配。

在祝辞祝辞,re.match(" # 39;猫# 39;,,& # 39;dog  cat 狗# 39;)   祝辞祝辞祝辞

python中正则表达式指的是什么