使用正则表达式仅从字符串中提取链接

时间:2014-02-25 09:35:19

标签: python regex

我想从下面提到的字符串中提取链接。

 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...

1 个答案:

答案 0 :(得分:2)

这是您需要的正则表达式:

links = re.findall(r'/url\?q=(http://[^&]*)', str)

单词:在/url?q=之后获取所有内容,从http://开始,且不包含&个字符。