Regex 从curl的输出中提取模式

Regex 从curl的输出中提取模式,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,可能需要以某种方式替换一些换行符,除非正则表达式可以在一行中返回多个模式。模式很简单,任何匹配的字

我想在命令行上使用curl获取一个url,将其传递到一个模式,并返回一个与该模式匹配的url列表

我在模式的贪婪方面遇到了问题,似乎无法克服它。如果您有任何帮助,我们将不胜感激

curl http://www.reddit.com/r/pics/ | grep -ioE "http://imgur\.com/.+(jpg|jpeg|gif|png)"
因此,从url获取数据,它返回混乱的html,可能需要以某种方式替换一些换行符,除非正则表达式可以在一行中返回多个模式。模式很简单,任何匹配的字符串

  • 开始于
  • 有A-Z A-Z 0-9(可能是其他的),到目前为止,5个字符长,8个字符应该永远覆盖它,如果我想限制模式的这一方面,我没有
  • 以.grraphic文件格式扩展名(jpg、jpeg、gif、png)结尾
就是这样,在那个url上,使用默认设置,我通常会得到一组好的图像。我不会反对在同一个页面上使用RSS feel url,实际上它可能更容易解析

谢谢大家

编辑 感谢您的快速回答,我最后的命令是:

$curl -s http://www.reddit.com/r/pics/ | grep -ioE "http:\/\/imgur\.com\/.{1,10}\.(jpg|jpeg|gif|png)"
尝试:


酷。从URL Grep您的WAN IP:

curl -s https://hostpapastatus.com/ip/ | grep -ioE "([0-9]{1,3}[\.]){3}[0-9]{1,3}"

您愿意使用真正的XML库吗?不是很有效的RSS,但它是格式良好的XML。我有点期待这一行。这只是我想时不时运行的一个命令,我会将其包装在bash for循环中,并删除一个大约10张图片的目录。谢谢,我会尝试编辑原始文件,这是我的最后一个命令:$curl-s | grep-ioE“http:\/\/imgur\.com\/.{1,10}(jpg | jpeg | gif | png)”
curl -s https://hostpapastatus.com/ip/ | grep -ioE "([0-9]{1,3}[\.]){3}[0-9]{1,3}"