Mój problem jest dość prosty.Jak re.sub() opcjonalna pasująca grupa używająca regex w Pythonie?
Mam adres URL, czasami kończy się on na określonych znakach. Jeśli są obecne, chciałbym dodać je do mojego nowego adresu URL.
test1 = "url#123"
test2 = "url"
r = re.sub(r"url(#[0-9]+)?", r"new_url\1", test1)
# Expected result: "new_url#123"
# Actual result: "new_url#123"
r = re.sub(r"url(#[0-9]+)?", r"new_url\1", test2)
# Expected result: "new_url"
# Actual result: "error: unmatched group"
Oczywiście, nie mogę po prostu zrobić re.sub("url", "new_url", test)
, ponieważ na przykład może to być „url/123”, aw tym przypadku nie życzę, aby dokonać zmian.
dziękuję. Czy polecasz mi używanie modułu regex przez cały czas, czy tylko w tym przypadku? Jakie są główne różnice między re i regex? – Delgan
@ user3779937, Nie, nie polecam używania go przez cały czas. 'regex' nie jest standardowym modułem bibliotecznym; musisz zainstalować osobno. – falsetru