如何在Python中匹配跨多行的模式?


正则表达式是一组字符,允许您使用搜索模式查找字符串或一组字符串。RegEx是正则表达式的另一个名称。

Python中的`re`模块用于处理正则表达式。为了使用正则表达式在Python中匹配跨多行的模式,我们使用`<p>.*</p>`正则表达式。

这里:

  • `<p>`, `</p>`表示HTML5中的段落标签。

  • `*`表示零个或多个字符的出现。

  • `.`是一个特殊字符,在`re.DOTALL`标志的帮助下,它匹配所有字符,包括换行符。

通常,在正则表达式搜索中,`.`特殊字符不匹配换行符。为了解决这个问题,`re`包提供了一些预定义的标志,这些标志可以修改特殊字符的行为。因此,通过使用`re.DOTALL`标志,我们可以匹配跨多行的模式。

示例

在下面的示例代码中,我们使用正则表达式匹配段落的范围。我们首先导入正则表达式模块。

import re

然后,我们使用了从`re`模块导入的`search()`函数。这个`re.search()`函数搜索字符串/段落中的匹配项,如果存在匹配项,则返回一个匹配对象。`group()`方法用于返回匹配的字符串部分。

import re paragraph = \ ''' <p> Tutorials point is a website. It is a platform to enhance your skills. </p> ''' match = re.search(r'<p>.*</p>', paragraph, re.DOTALL) print(match.group(0))

输出

执行上述程序后,得到以下输出。

<p>
Tutorials point is a website.
It is a platform to enhance your skills.
</p>

更新于:2022年11月8日

12K+ 次浏览

启动您的职业生涯

完成课程后获得认证

开始
广告