如何在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>
广告