заменить URL - PullRequest
       7

заменить URL

1 голос
/ 04 марта 2009

У меня огромный текстовый файл и список URL-адресов Editpad Pro с изображениями в корневой папке.

http://www.othersite.com/image01.jpg
http://www.mysite.com/image01.jpg
http://www.mysite.com/category/image01.jpg

Как я могу изменить только те, у которых есть изображения в корне, с помощью regexp?

http://www.othersite.com/image01.jpg
http://www.NEW_WEBSITE.com/image01.jpg
http://www.mysite.com/category/image01.jpg

Я использую онлайн-приложение RegExr .

Ответы [ 3 ]

3 голосов
/ 04 марта 2009

Поиск и замена (без учета регистра, регулярное выражение):

http://www\.mysite\.com/([^/]*\.(?:jpg|gif|png))

с:

http://www\.NEW_WEBSITE\.com/\1

EDIT

И да, при этом также будут повторно созданы файлы, такие как http://www.mysite.com/.jpg, если такие файлы или каталоги существуют. Если кому-то это не нравится, просто замените * на + - или {X,}, если вы предполагаете, что для файла изображения требуется хотя бы имя из X символов s и т. Д. и т. д. - но на самом деле , это, вероятно, выходит за рамки того, что lab72 пытается достичь (т.е. не проверка имени файла изображения).

1 голос
/ 04 марта 2009
url1.replace(/((https?:\/\/www.?)(\w*?)(.com\/image\d*?\.(png|gif|jpg))/, 
             "$1newName$3");

Нечто подобное должно работать. Код написан на AS (но не скомпилирован: P). Обратите внимание, что $ 2 соответствует названию сайта, которое мы заменяем на yoursite.

0 голосов
/ 04 марта 2009

Заменить

http://www\.mysite\.com/image(.*)

с

http://www.newsite.com/image$1

При этом вам также может быть интересен приличный текстовый редактор . Этот флэш-апплет действительно отвратительный. Вы все еще можете использовать то же регулярное выражение, хотя вам придется заменить знак доллара $ на обратную косую черту \.

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