Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试长时间的刺痛并提取它包含的所有网址。
page.findall(r"http://.+")
是我所拥有的,但这不会导致我想要的。url 都用双引号括起来,所以我怎样才能告诉正则表达式在到达“?”时停止匹配?
那里有非常复杂的 url 解析正则表达式,但如果你想停在 a 处",只需使用[^\"]+url 部分。
"
[^\"]+
或者切换到单引号字符串并删除\.
\
另外,如果你https混进去了,它会坏的,所以你可能只想和
https
page.findall(r'"(http[^"]+)"')
但现在我们正在研究 url 解析正则表达式。
最好在这里使用非贪婪表达式而不是使用[^\"]+. 这样你的正则表达式就是r'"http://.+?"'. 加号后面的问号使它找到第一次遇到双引号。
r'"http://.+?"'