如何在 Python 中跨多行匹配模式?
正则表达式是一组字符,它允许您使用搜索模式来查找一个字符串或一组字符串。 RegEx 是正则表达式的另一个名称。
Python 中的 re 模块用于处理正则表达式。要在 Python 中使用正则表达式跨多行匹配模式,我们使用如下的正则表达式: < p>.*</p>
。
在这里:
< p>,</p>
表示 HTML5 中的段落标签。-
表示零个或多个字符。
-
点号是一个特殊字符,它与所有字符(包括换行符)匹配,并利用 re.DOTALL 标志实现。
通常,在正则表达式搜索中,“.”特殊字符不匹配换行符。为了解决这个问题,“re”包提供了一些预定义标志,可以修改特殊字符的行为方式。因此,通过使用 re.DOTALL 标志,我们可以匹配跨多行的模式。
阅读更多:Python 教程
示例
在下面的示例代码中,我们使用正则表达式匹配段落的 span 标签。我们首先导入正则表达式模块。
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>