正则表达式剥离图像网址?

时间:2009-07-17 00:08:53

标签: regex url parsing image

我需要从文档中分离出一堆图像网址,其中图像与这样的名称相关联:

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,所以我有一个新文件,它只是一个URL列表,每行一个。< / p>

4 个答案:

答案 0 :(得分:1)

如果格式是常量,那么这应该起作用(python):

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

注意:这不是“在文件中查找图像”regexp,只是对问题的回答:)

答案 1 :(得分:1)

试试这个......

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

答案 2 :(得分:0)

你的意思是说你的文档中有这种格式,你只想获得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的split()。请阅读您的文档以了解

答案 3 :(得分:0)

如果您的工具支持肯定后瞻,您可以试试这个:

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