Вопрос
У меня есть огромный текстовый файл и список URL-адресов Editpad Pro с изображениями в корневой папке.
http://www.othersite.com/image01.jpg
http://www.mysite.com/image01.jpg
http://www.mysite.com/category/image01.jpg
Как я могу изменить только те, у которых есть изображения в корневом каталоге, используя регулярное выражение?
http://www.othersite.com/image01.jpg
http://www.NEW_WEBSITE.com/image01.jpg
http://www.mysite.com/category/image01.jpg
Я использую онлайн-приложение RegExr.
Решение
Поиск и замена (без учета регистра, регулярное выражение):
http://www\.mysite\.com/([^/]*\.(?:jpg|gif|png))
с:
http://www\.NEW_WEBSITE\.com/\1
Редактировать
И да, это также приведет к изменению базы файлов, таких как http://www.mysite.com/.jpg
, если какие-либо такие файлы или каталоги существуют.Если кому-то это не нравится, просто замените *
с +
-- или с {X,}
если ваше предположение окажется таким, что файл изображения должен содержать как минимум X символьных имен и т.д.и т.д.-- но в самом деле, это , вероятно , совершенно выходит за рамки того , что lab72
пытается достичь (т. е. нет проверка имени файла изображения.)
Другие советы
url1.replace(/((https?:\/\/www.?)(\w*?)(.com\/image\d*?\.(png|gif|jpg))/,
"$1newName$3");
Должно сработать что-то вроде описанного выше.Код находится в формате AS (хотя и не скомпилирован: P) Обратите внимание, что $ 2 соответствует названию сайтов, которое мы заменяем на yoursite
.
Заменить
http://www\.mysite\.com/image(.*)
с
http://www.newsite.com/image$1
Тем не менее, вас также может заинтересовать достойный текстовый редактор.Этот флэш-апплет действительно отвратительный.Вы все еще можете использовать то же регулярное выражение, хотя вам придется заменить знак доллара $
с обратной косой чертой \
.