регулярное выражение, чтобы удалить URL изображения? - PullRequest
1 голос
/ 17 июля 2009

Мне нужно выделить кучу 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-адресов, по одному на строку.

Ответы [ 4 ]

1 голос
/ 17 июля 2009

Попробуйте это ...

(http://)([a-zA-Z0-9\/\\.])*
1 голос
/ 17 июля 2009

Если формат постоянен, то это должно работать (python):

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

Примечание: это не регулярное выражение "найти изображение в файле", а просто ответ на вопрос:)

0 голосов
/ 25 ноября 2012

Вы можете попробовать это, если ваш инструмент поддерживает положительный взгляд позади :

/(?<=")[^"\n]+/
0 голосов
/ 17 июля 2009

Вы хотите сказать, что у вас есть такой формат в вашем документе, и вы просто хотите получить часть 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's split (). пожалуйста, прочитайте ваш документ, чтобы узнать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...