正则表达式来剔除图像网址?(regex to strip out image urls?)

2019-10-16 23:36发布

我需要从该图像与这样的名字相关联的文档分离出一堆图片网址:

bellpepper = "http://images.com/bellpepper.jpg"
cabbage = "http://images.com/cabbage.jpg"
lettuce = "http://images.com/lettuce.jpg"
pumpkin = "http://images.com/pumpkin.jpg"

我以为我可以检测一个链接的开始:

/http:[^ ,]+/i

但我怎么能得到所有从文档中分离的联系?

编辑:要澄清的问题是:我只是想去掉从文件减去变量名的URL,等号与双引号,所以我有一个新的文件,这只是一个网址清单,每行一个。

Answer 1:

尝试这个...

(http://)([a-zA-Z0-9\/\\.])*


Answer 2:

如果格式是固定的,那么这应该工作(蟒蛇):

import re
s = """bellpepper = "http://images.com/bellpepper.jpg" (...) """
re.findall("\"(http://.+?)\"", s)

注意:这不是“在文件中找到的图像”正则表达式,只是一个问题的答案:)



Answer 3:

你的意思是说,你有这种格式的文档中,你只是想获得HTTP一部分? 你只能分割上没有正则表达式的“=”分隔符

$f = fopen("file","r");
if ($f){
    while( !feof($f) ){
        $line = fgets($f,4096);
        $s = explode(" = ",$line);
        $s = preg_replace("/\"/","",$s);
        print $s[1];
    }
    fclose($f);
}

在命令行上:

#php5 myscript.php > newfile.ext

如果您使用的不是PHP等其他语言,也有可以使用类似字符串分割方法。 例如Python的/ Perl的分裂()。 请阅读您的文件找出来



Answer 4:

你可以试试这个,如果你的工具支持正回顾后

/(?<=")[^"\n]+/


文章来源: regex to strip out image urls?