【发布时间】:2016-06-04 06:40:09
【问题描述】:
带有 url 之类的
https://search.yahoo.com/search?p=Fetty+Wap&fr=fp-tts&
我正在使用
pat = re.compile('<a href="(https?://.*?)".*',re.DOTALL)
作为搜索模式。
我想选择任何 url,如上面的 yahoo url,但我想在实际 url 中捕获直到文字 ? 的 url。
换句话说,我想提取到? 的网址,因为我知道我正在解析的所有网址都没有? 字符。在这种情况下,我需要捕获所有的 url。
上面的正则表达式可以工作并提取 url,但会到达 url 的末尾。我怎样才能让它在它遇到的第一个? 处停止,如果它没有遇到? 则继续走到最后
【问题讨论】:
-
你能把你尝试过的代码添加到这个问题中吗?
-
from os import system;system('cls')\n from urllib import urlopen;import re\n # 寻找类似 url+sometext(stopCaptureAtLiteral?"> Some Text 的行 a>\n count = 0\n pat = re.compile(r'yahoo.com')\n for line in nh:\n if re.search(pat,line):\n count += 1\n print count,re.search(pat,line).group (1)\n 请看评论想要捕获锚标记拉出一个 url 但\n 直到 ?如果网址中有一个,则整个网址\n
-
对不起,我无法弄清楚如何换行我在论坛上查看过尝试
标签但没有用,所以我添加了 \n 也没有用,但会只是告诉你行尾,很抱歉试图弄清楚 -
你好 Bobble 泡泡,你击中了那个泡泡;现在我得到了一个非常干净的输出非常感谢您
标签: python regex capture regex-group