2009-07-17 107 views
1

我需要从该图像与名称类似这样的相关联的文档分离出一堆图片网址:正则表达式去掉图像url?

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列表,每行一个。

+0

在从文档删除并把它们放在一个新的? – Victor 2009-07-17 00:13:02

+0

我想从文件中删除除图像URL之外的所有内容。 – boysenberry 2009-07-17 00:24:40

回答

1

尝试......

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

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

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

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

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()。请阅读您的文件,找出

0

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

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