试图学习正则表达式,但是我的代码未显示正确的输出

时间:2018-08-16 19:52:19

标签: python-3.x

我正在尝试创建一个小程序,可以在一段文本中找到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")

1 个答案:

答案 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")

我想知道这是否已经是您所需要的,或者您可能也想提取域名,如“网站”一词所建议。