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)
但他们都将介于( - )和(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)