我想从下面提到的字符串中提取链接。
str = /url?q=http://www.example.com/services/blog/first-article&sa=U&ei...
我使用以下正则表达式来获取该链接。但它在“http”之后获取完整的URL,因为我提到了模式。我想要的是在模式“& sa”之前只获取URL(即)"http://www.example.com/services/blog/first-article"
links = re.findall(r'/url\?q=(http://.*)', str)
print links # http:example.com/services/blog/first-article&sa=U&ei...
答案 0 :(得分:2)
这是您需要的正则表达式:
links = re.findall(r'/url\?q=(http://[^&]*)', str)
单词:在/url?q=
之后获取所有内容,从http://
开始,且不包含&
个字符。