Python正则表达式获取URL

Mor*_*nTN 1 python regex string parsing

我试图从一个长字符串中获取一个URL,我不确定如何编写正则表达式;

$ string = '192.00.00.00 - WWW.WEBSITE.COM GET /random/url/link'
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用're.search'函数,以便仅在没有空格的情况下拔出WWW.WEBSITE.COM.我希望它看起来像这样;

$ get_site = re.search(regex).group()

$ print get_site

$ WWW.WEBSITE.COM
Run Code Online (Sandbox Code Playgroud)

iCo*_*dez 7

但他们都将介于( - )和(GET)之间

这就是您需要的所有信息:

>>> import re
>>> string = '192.00.00.00 - WWW.WEBSITE.COM GET /random/url/link'
>>> re.search('-\s+(.+?)\s+GET', string).group(1)
'WWW.WEBSITE.COM'
>>>
Run Code Online (Sandbox Code Playgroud)

下面是正则表达式模式匹配的细分:

-      # -
\s+    # One or more spaces
(.+?)  # A capture group for one or more characters
\s+    # One or more spaces
GET    # GET
Run Code Online (Sandbox Code Playgroud)

请注意,.group(1)获取捕获的文本(.+?). .group()会返回整场比赛:

>>> re.search('-\s+(.+?)\s+GET', string).group()
'- WWW.WEBSITE.COM GET'
>>>
Run Code Online (Sandbox Code Playgroud)