首页  >  问答  >  正文

linux - grep正则表达式如何进行最短匹配?

迷茫迷茫2765 天前730

全部回复(3)我来回复

  • 大家讲道理

    大家讲道理2017-04-17 14:49:29

    这个可以匹配出来 grep -o "ed2k[^"]*"

    [root@localhost oldlog.md]# echo '你的地址' | grep -o "ed2k[^\"]*"
    ed2k://|file|%E7%A1%85%E8%B0%B7.Silicon.Valley.S01E01.%E4%B8%AD%E8%8B%B1%E5%AD%97%E5%B9%95.HDTVrip.1024X576.mkv|348759100|04dc44e4978ea2d4dc9bf41b08829a3e|h=rfe5smulijxlmz7mgtpmn2bt3vmofk56|/
    ed2k://|file|silicon.valley.s01e01.720p.hdtv.x264-killers.mkv|843706966|3B4B08BD9C960B5B8F2372158F84B1AE|h=36632AROF43T63NSXFLIGSYEB4PNDEFN|/

    回复
    0
  • PHP中文网

    PHP中文网2017-04-17 14:49:29

    建议通过一些html的parser把a标签单独提取出来进行匹配,可以避免一行出现多个a的问题

    回复
    0
  • 迷茫

    迷茫2017-04-17 14:49:29

    默认情况下 grep 不支持非贪婪修饰符,但您可以使用 grep -P 来使用 Perl 语法。

    如何在 grep 中进行非贪婪匹配?

    回复
    0
  • 取消回复