Я хотел бы поймать протокол в тексте. Если я сделаю это по:
>>> d = re.search(re.compile(r".*(?P<protocol>(http\/\d\.\d)?) (?P<statuscode>\d{3})"), 'khkhjkhkhkh HTTP/1.1 303')
>>> d.groupdict()["protocol"]
результат будет пустым, потому что для сопоставления протокола с. *, Если я уберу '?' для протокола он отлично работает в этом случае, но не работает для случаев, когда протокол отсутствует, например, 'khkhjkhkhkh 303'. Я понимаю, что регулярное выражение сбивает с толку совпадение с протоколом вместо. *, Но есть ли что-то обходное?