Как разбить строку сразу по нескольким разделителям?

import re
s = input().split()
print(re.split('?|&',s))

Не получается таким образом, выводит кучу непонятных ошибок.

Нужно разбить строку по знакам: ? или &

Для примера подается какая то URL строка:

https://yandex.ru/images/search?text=котики&source=images_drawing

Ответы (1 шт):

Автор решения: MaxU

Пример:

In [84]: re.split(r"[?&]", url)
Out[84]: ['https://yandex.ru/images/search', 'text=котики', 'source=images_drawing']

но лучше все-таки использовать urllib.parse:

In [85]: from urllib.parse import urlparse, parse_qs, parse_qsl

In [86]: parse_qs(urlparse(url).query)
Out[86]: {'text': ['котики'], 'source': ['images_drawing']}

In [89]: parse_qsl(urlparse(url).query)
Out[89]: [('text', 'котики'), ('source', 'images_drawing')]
→ Ссылка