Вы можете использовать urlparse
для замены порта с URL:
parsedUrl = urlparse('http://www.example.com:80/about-me/')
if parsedUrl.netloc == "www.example.com:80":
stripped = parsedUrl._replace(netloc=parsedUrl.netloc.replace(":" + str(parsedUrl.port), ""))
print(urlunparse(stripped))
Python demo
Output
http://www.example.com/about-me/
Или используйте шаблон с 2 группами захвата и используйте их для замены.
Если вы хотите сопоставить 1 или несколько цифр вместо 80, используйте \d+
и обратите внимание, чтобы избежать точки \.
^(https?://www\.example\.com)(?::80)?(/[^/]+/)$
Демонстрация Regex | Python демонстрация
import re
regex = r"^(https?://www\.example\.com)(?::80)?(/[^/]+/)$"
s = "http://w...content-available-to-author-only...e.com:80/about-me/"
result = re.sub(regex, r"\1\2", s, 1)
print(result)
Выход
http://www.example.com/about-me/