我正在尝试创建一个小程序,可以在一段文本中找到http和https链接。刚开始学习正则表达式,但我不明白我的代码在做什么错。与其显示链接,不如显示“找不到网站”。任何帮助将不胜感激。
import re
correctURL = re.compile(r'(HTTPS://|HTTP://) \S+', re.I)
myURL = "HTTPS://w"
match = correctURL.search(myURL)
if match:
print("The website found was:" + match.group(0))
else:
print("No website was found")
答案 0 :(得分:0)
仅需进行两个小修改:
(i)省略模式中的空格,并将URL的“其余”分组,以便以后可以引用
(ii)找到匹配项后,我们将打印第二组。 (group(0)
是整个比赛,group(1)
是第一个,等等)
correctURL = re.compile(r'(HTTPS://|HTTP://)(\S+)', re.I)
myURL = "HTTPS://w"
match = correctURL.search(myURL)
if match:
print("The website found was:" + match.group(2))
else:
print("No website was found")
我想知道这是否已经是您所需要的,或者您可能也想提取域名,如“网站”一词所建议。