0

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

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

是我所拥有的,但这不会导致我想要的。url 都用双引号括起来,所以我怎样才能告诉正则表达式在到达“?”时停止匹配?

4

2 回答 2

3

那里有非常复杂的 url 解析正则表达式,但如果你想停在 a 处",只需使用[^\"]+url 部分。

或者切换到单引号字符串并删除\.

另外,如果你https混进去了,它会坏的,所以你可能只想和

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

但现在我们正在研究 url 解析正则表达式。

于 2012-10-24T20:29:05.517 回答
0

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

于 2012-10-24T20:39:35.203 回答