Python 正则表达式匹配多行

1 投票
1 回答
1441 浏览
提问于 2025-04-17 00:15

我想用Python从网页中获取一个<ul>标签的内容。我用的代码是:
matchResult = re.search(r'<ul\s*content="MSL">(.*)</ul>', queryResult, re.MULTILINE)
但是这个代码不管用。
不过如果我先把换行符去掉,像这样:
queryResult = queryResult.replace('\r','').replace('\n','')
那就能正常工作了。

在PHP中,这个正则表达式在不去掉换行符的情况下也能正常工作:
preg_match('@<ul\s*content="MSL">(.*)</ul>@msU', $queryResult, $matches);

那我该怎么在Python中处理多行匹配呢?

1 个回答

5

还要加上 re.DOTALL 这个选项,这样 . 这个符号就可以匹配到换行符了。

撰写回答