Python 中使用正则表达式匹配多个嵌套的 div 标签可以使用以下语法:

import re

html = '<div>content1<div>content2<div>content3</div></div></div>'

# 匹配所有 div 标签
match = re.findall(r'<div>(.*?)</div>', html, re.DOTALL)

# 输出所有匹配到的内容
for m in match:
    print(m)

这段代码中使用了 re.findall() 函数匹配所有的 div 标签。正则表达式 r'<div>(.*?)</div>' 中的 .*? 是一个贪婪匹配,表示匹配任意多个字符,直到找到第一个匹配的内容。

使用re.DOTALL 是为了让 . 匹配包括换行符在内的所有字符。

这段代码会输出三个内容,分别为:

content1<div>content2<div>content3
content2<div>content3
content3

如果只需要匹配第一层的话,可以使用 lookahead 和 lookbehind 的限定条件来匹配,像这样:

import re
html = '<div>content1<div>content2<div>content3</div></div></div>'
match = re.findall(r'(?<=<div>)[\s\S]*?(?=</div>)',html)
for m in match:
    print(m)

这样就只会匹配到最外层的div了

这只是一个简单的例子,实际上在处理复杂的 HTML 文档时,可能需要使用更复杂的正则表达式或其他 HTML 解析库。