pattern = r"(?:[^;']|'(?:\\.|[^'])*')+;"
sql_list = [match.group().strip() for match in re.finditer(pattern, execute_sql) if match.group().strip()]
for sql in sql_list:
print(sql)
(?:[^;']|'(?:\\.|[^'])*')+;
匹配 连续的非分号内容 或 单引号包裹的字符串,并且可以多次出现。
拆解:
[^;']:匹配单引号或分号之外的字符。
'(?:\\.|[^'])*':匹配单引号包裹的字符串。
+:匹配 1 次或多次。
;:匹配分号结尾
(?:)表示非捕获分组


![[计算机网络]OSPF协议](https://i-blog.csdnimg.cn/direct/c9c472c1846547efb77cfb7ad9156230.png)









![[实战]推流服务SRS安装](https://i-blog.csdnimg.cn/direct/66deda12253e4d0e9559ce1221108c05.png)






