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>