import re
regex = re.compile(r"(?<![\w\-]=\"|\")(https?:\/\/[\w\-\.!~?&=+\*'(),\/\#\:]+)((?!\<\/\w\>))*?")
test_str = ("<a href=\"https://worldofwarships.ru/\">https://worldofwarships.ru/</a><div><br></div>\n\n"
"<div data-test=\"https://worldofwarships.ru/1\">https://worldofwarships.ru/1</div>\n\n"
"<div>https://worldofwarships.ru/0</div>\n\n"
"<div>https://worldofwarships.ru/0</div>\n\n"
"<div> https://worldofwarships.ru/2</div>\n\n"
"https://worldofwarships.ru/3?test=https://worldofwarships.ru/\n\n"
"https://worldofwarships.ru/4#https://worldofwarships.ru/\n\n"
"https://worldofwarships.ru/5\n\n"
"<div>https://worldofwarships.ru/3<br clear=\"all\">\n"
"<div><br></div>-- <br><div class=\"gmail_signature\"><div dir=\"ltr\">Тестовый аккаунт</div></div>\n"
"</div>\n\n"
"<img src=\"https://worldofwarships.ru/3?test=https://worldofwarships.ru/3\"/>\n"
"<img src=\"https://worldofwarships.ru/3#https://worldofwarships.ru/3\"/>\n\n"
"<form action=\"https://worldofwarships.ru/3\"></form>")
subst = "<a href=\"$1\">$1</a>"
result = regex.sub(subst, test_str)
if result:
print(result)
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html