如何在 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-08

12K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告