1 回答
TA贡献1801条经验 获得超8个赞
你有几个问题。首先,使用 时Pattern.match
,第二个和第三个参数是位置参数,而不是标志。需要将标志指定为re.compile
。其次,您应该使用re.DOTALL
来.
匹配换行符,而不是re.MULTILINE
. 最后 -match
坚持匹配发生在字符串的开头(在您的情况下是换行符),因此它不会匹配。您可能想改用Pattern.search
。这适用于您的示例输入:
pattern=re.compile(r'<p>.*</p>', re.DOTALL)
data1=pattern.search(text)
print('data1:- ',data1.group(0),'\n')
输出:
data1:- <p>
The very <em>first</em> task is to find the beginning of a paragraph.
</p>
<p>
Then you have to find the end of the paragraph
</p>
单场比赛:
pattern=re.compile(r'<p>.*?</p>', re.DOTALL)
data1=pattern.search(text)
print('data1:- ',data1.group(0),'\n')
输出:
data1:- <p>
The very <em>first</em> task is to find the beginning of a paragraph.
</p>
另请注意/, ,<和>在正则表达式中没有特殊含义,不需要转义。我已经在上面的代码中删除了它。
- 1 回答
- 0 关注
- 94 浏览
添加回答
举报