如何拆分包含多个 '&' 的 URL 字符串

How split a URL string containing multiple '&'

我正在使用 Python 拆分字符串,以便其结果形成一个列表。

字符串示例:

text = 'https://a.com/api?a=1&b=2&c&c=3&https://b.com/api?a=1&b=2&c&c=3'
# It uses '&' to separate multiple URLs. How should I get them out?
# What I need is
URL_list = ['https://a.com/api?a=1&b=2&c&c=3','https://b.com/api?a=1&b=2&c&c=3']

我尝试使用 str.split() 和 re.split(),但没有得到想要的结果。 也许我的方法不对,但是我该怎么办?

我会使用 re.split,拆分后跟 http://https://&(使用前瞻性检查以免吸收这些字符):

import re
text = 'https://a.com/api?a=1&b=2&c&c=3&https://b.com/api?a=1&b=2&c&c=3'
re.split(r'&(?=https?://)', text)

输出:

['https://a.com/api?a=1&b=2&c&c=3', 'https://b.com/api?a=1&b=2&c&c=3']