鉴于此字符串:
GET /dsadda HTTP/1.1\r\nUser-Agent: curl/7.26.0\r\nHost: www.youtube.com\r\nAccept: */*\r\n\r\n
Run Code Online (Sandbox Code Playgroud)
我如何在Host:和之间的Python正则表达式组中获取所有内容\r\n?
在这个例子中,我想re.match.group(1)回来www.youtube.com
您可以使用此正则表达式进行匹配
>>> a = 'GET /dsadda HTTP/1.1\r\nUser-Agent: curl/7.26.0\r\nHost: www.youtube.com\r\nAccept: */*\r\n\r\n'
>>> import re
>>> re.search(r"Host: (.+)\r\n",a).group(1)
'www.youtube.com'
Run Code Online (Sandbox Code Playgroud)
小注 - 最好使用re.MULTILINEflag作为输入字符串包含\n,但在这种特殊情况下不需要.
另外,正如Antti Haapala所提到的,使用^匹配字符串的开头也是一个更好的选择,因为可能有名称的Header字段Host.因此,最终的正则表达式将是这样的re.search(r"^Host: (.+)\r\n",a,re.M).group(1).
| 归档时间: |
|
| 查看次数: |
609 次 |
| 最近记录: |