regex - 从 curl 的输出中提取模式

标签 regex curl

我想在命令行上使用 curl 来获取一个 url,将其通过管道传输到一个模式,然后返回一个与该模式匹配的 url 列表。

我遇到了模式贪婪方面的问题,似乎无法解决它。对此的任何帮助将不胜感激。

curl http://www.reddit.com/r/pics/ | grep -ioE "http://imgur\.com/.+(jpg|jpeg|gif|png)"

因此,从 url 获取数据,这会返回一堆 html,这可能需要以某种方式替换一些换行符,除非正则表达式可以在一行中返回多个模式。模式非常简单,任何匹配的字符串......
  • http://imgur.com/ 开头
  • 有 A-Z a-z 0-9(可能还有其他一些),到目前为止,5 个字符长,如果我想限制模式的那个方面,8 个字符应该永远覆盖它,我不这样做
  • 以 .graphic_file_format_extention 结尾(jpg、jpeg、gif、png)

  • 就是这样,在那个 url 上,使用默认设置,我通常应该得到一组好的图像。我不会反对在同一页面上使用 RSS 感觉 url,实际上它可能更容易解析。

    谢谢大家!

    编辑
    感谢您的快速回答,我现在的最终命令是:
    $curl -s http://www.reddit.com/r/pics/ | grep -ioE "http:\/\/imgur\.com\/.{1,10}\.(jpg|jpeg|gif|png)"
    

    最佳答案

    尝试:

    http:\/\/imgur\.com\/.{5,8}\.(jpg|jpeg|gif|png)
    

    关于regex - 从 curl 的输出中提取模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2707129/

    相关文章:

    regex - 正则表达式查找两个字符之间包含的字符串,同时排除分隔符

    regex - Google Analytics IP 过滤器排除

    linux - 将 Linux 命令分配给 Groovy 中的变量

    curl 未被识别为内部或外部命令?

    javascript - 将正则表达式修饰符选项传递给 RegExp 对象

    jquery - 查找 <img> 源的一部分并删除 - end

    iphone - Apple 终端无法访问 SSL 站点和神秘的 curl 错误

    bash - 如何使用变量而不是文件来让任何命令写入?

    c++ - easy_curl_perform 返回错误 26(写入错误)

    javascript - 替换或删除查询字符串 javascript