Python正则表达式以“

时间:2012-10-24 20:26:29

标签: python regex

我正在尝试长时间刺痛并提取它包含的所有网址。

page.findall(r"http://.+")

是我拥有的,但这不会导致我想要的东西。网址都用双引号括起来,所以如何告诉正则表达式在到达“?

时停止匹配

2 个答案:

答案 0 :(得分:3)

有非常复杂的网址解析正则表达式,但是如果你想停在",只需使用[^\"]+作为网址部分。

或切换为单引号字符串并删除\

另外,如果你混入了https,它就会中断,所以你可能只想跟着

page.findall(r'"(http[^"]+)"')

但现在我们正在进入url-parsing正则表达式。

答案 1 :(得分:0)

最好在此处使用非贪婪表达式,而不是使用[^\"]+。那样你的正则表达式就是r'"http://.+?"'。加号后面的问号使得它找到第一次遇到双引号。