RegExp(正则表达式) 家庭作业帮助服务 - Assignment Help

RegExp(正则表达式)家庭作业帮助

正则表达式

我们Python教程本章的目的是向正则表达式提供详细的引导和描述性介绍。本介绍将解释正则表达式的理论方面,并将向您展示如何在Python脚本中使用它们。

术语“正则表达式”有时也称为正则表达式或正则表达式,源于理论计算机科学。在理论计算机科学中,它们被用来定义具有某种特征的语言系列,即所谓的普通语言。对于每个正则表达式,存在接受正则表达式定义的语言的有限状态机(FSM)。我们实现了(Python中的有限状态机),

正则表达式用于编程语言中以过滤文本或文本串。如果文本或字符串与正则表达式匹配,可以检查。

正则表达式的一个方面不应该不提及:正则表达式的语法对于所有编程和脚本语言都是相同的,例如Python,Perl,Java,SED,AWK甚至X#。

介绍

当我们介绍顺序数据类型时,我们知道“in”运算符。我们检查以下示例,如果字符串“easy”是字符串“正则表达式轻松解释!”的子字符串:

 简单的正则表达式

我们在上一节中已经说过,我们可以将变量“sub”看作一个非常简单的正则表达式。

如果要在Python中使用正则表达式,则必须导入re模块,该模块提供了处理正则表达式的方法和函数。

在Python中表示正则表达式

您可以使用其他语言来表示斜杠“/”中的正则表达式,例如那就是Perl,SED或AWK处理他们的方式。在Python中没有特殊的符号。正则表达式表示为普通字符串。

但这种方便带来了一个小问题:反斜杠是正则表达式中使用的特殊字符,但也用作字符串中的转义字符。这意味着Python首先会对字符串的每个反斜杠进行评估,之后 – 不必要的反斜杠 – 它将被用作正则表达式。防止这种情况的一种方法是将每个反斜杠写为“\\”,并将其用于评估正则表达式。克服此问题的最佳方法在于将正则表达式标记为原始字符串。

r“^ a。* \。html $”

我们以前的示例的常规示例匹配所有以“a”开始并以“.html”结尾的文件名(字符串)。我们将在后面的章节中详细介绍上面的例子的结构。

r“cat”是一个正则表达式,虽然是一个非常简单的,没有任何元字符。我们的“猫”匹配例如以下字符串:“猫和老鼠不能成为朋友”。

有趣的是,前面的例子显示了一个错误的“最喜欢的”例子,这个例子不仅仅是初学者和新手,而且也是正规表达式的高级用户。这个例子的想法是匹配包含单词“cat”的字符串。我们是成功的,但不幸的是,我们也匹配了很多其他的话。如果我们匹配一个可能仍然可以的字符串中的“猫”,但是所有包含这个字符序列“猫”的字呢?我们匹配“教育”,“沟通”,“伪造”,“后果”,“牛”等词。这是“过度匹配”的情况,即我们收到积极的结果,根据我们想要解决的问题,这是错误的。

我们已经在右图中说明了这个问题。深绿色圆圈C对应于我们想要识别的“对象”集合。但是,我们匹配集合O(蓝色圆圈)的所有元素。 C是O的子集。

该图中的集合U(浅绿色圆圈)是C.的子集。U是“匹配”的情况,即如果正则表达式不匹配所有预期的字符串。如果我们尝试修复以前的RE,所以它不会创建超匹配,我们可以尝试表达式r“cat”。这些空白妨碍了上述“教育”,“伪造”和“分歧”等词语的匹配,但我们也是另一个错误的牺牲品。字符串“猫,叫奥斯卡,爬上屋顶。”问题是我们不期待一个逗号,但只能在“猫”之后的空白处。

在我们继续描述正则表达式的语法之前,我们要解释如何在Python中使用它们:

>>> import re

>>> x = re.search(“猫”,“猫和老鼠不能成为朋友”)

>>>打印x

<_sre.SRE_Match object at 0x7fd4bf238238>

>>> x = re.search(“cow”,“一只猫和一只老鼠不能是朋友”)

>>>打印x

没有

在前面的例子中,我们必须导入模块re才能使用正则表达式。然后我们使用re模块中的方法搜索。这最可能是这个模块最重要和最常用的方法。 re.search(expr,s)检查字符串s是否与正则表达式expr匹配的子字符串的出现。将返回满足该条件的第一个子字符串(从左)。如果匹配是可能的,我们得到一个所谓的匹配对象,否则值为None。这个方法已经足以在Python程序中使用正则表达式:

>>>如果re.search(“猫”,“一只猫和一只老鼠不能成为朋友”):

…打印“某种猫被发现:-)”

…其他:

…打印“没有找到猫:-(”

已发现某种猫:-)

>>>如果re.search(“牛”,“猫和老鼠不能成为朋友”):

打印“猫和大鼠和牛”。

…其他:

打印“没有牛”。

…周围没有牛

我们在家庭作业中为Python或Python RegExp(正则表达式)作业提供专家帮助。我们的导师是为各级学生提供家庭作业帮助的专家。

Posted on March 31, 2017 in 蟒蛇

Share the Story

Back to Top
Share This