ZebroidФорумПубличный разделПредложенияАрхивЭкспорт и импорт регулярок в модуле "Поиск и замена"

Экспорт и импорт регулярок в модуле "Поиск и замена"

03 июля 2012, 20:48
Зарегистрирован: 20 марта 2010, 23:25
Иногда надо выполнить однотипные операции но с разными данными, приходится вручную вносить изменения. Хотелось бы составить в текстовом документе нужные регулярки и потом через импорт добавить их в программу.

Я таким способом удалял 80 ссылок из постов. Ссылки на несуществующие картинки. Если ссылка есть на картинку, а самой картинки нет, то при сохранении проекта выскакивает предупреждение, что есть проблемы с картинками и лог находится в папке "temp". Я выяснил, что ссылки есть а картинок нет.

Вот пришлось использовать регулярку и 80 раз менять в ней название картинки.

Вот как то так 2 проблемы в одном посту уместил :)



14 июля 2012, 09:25
Зарегистрирован: 22 октября 2011, 13:54


Вот пришлось использовать регулярку и 80 раз менять в ней название картинки.


Что за регулярка такая, если в ней пришлось вручную менять опции? Не проще ли составить нормальную регулярку и не требовать непонятно какого функционала?

Зайти в папку с установленным Зеброидом, найти "SearchReplaceSnipets", там сохраняются все созданные регулярки по файлам и папкам. Надо создать новые в отдельном файле,- запросто. Но проще работать в самой программе, создать, проверить, сохранить



16 июля 2012, 02:20
Зарегистрирован: 20 марта 2010, 23:25
и не требовать непонятно какого функционала?


Мил человек, во первых никто ничего не требует, а вносят предложения.

Во вторых, если вам не понятно, могу разжевать и разложить по полочкам.

Проблема: если картинок нет, а ссылки на эти картинки есть в постах, то при сохранении проекта выскакивает предупреждение о ошибках с картинками. В папке "temp" находятся названия этих картинок.

Задача: найти и удалить ссылки на эти картинки из постов.

Решение: за 2 минуты из названий картинок делаются регулярки типа

<img src="~images\ххххххххх.jpg" />

где "хххххххххх" и есть названия этих картинок.

Но вот вносить эти ссылки вручную (у меня их было 80) очень долго. Каждую ссылку нужно вставлять отдельно. Поэтому я и предложил сделать импорт - экспорт в "Поиск и замена".

P. S. Спасибо за подсказку с "SearchReplaceSnipets".

Это то что нужно.



20 июля 2012, 03:03
Зарегистрирован: 22 октября 2011, 13:54
Я спросил, потому что не сталкивался с такой проблемой, неясно было о чём речь. Дело в том, что регулярные выражения как раз и предназначены для случаев, когда приходится повторять однотипные операции. Если есть возможность задать хоть какие-то отличительные параметры нужным данным, то легко их заменить, удалить и так далее. В вашем случае, что-то другое имелось ввиду, так как битые или отсутствующие ссылки в Зеброиде, обычно попадаются как <img src="" />, то есть вообще без никаких данных. Их легко удалить регуляркой. Если же встречается конструкция с именем, и без фото, тогда сложнее. Но, имея имена, можно создать один файл, в котором будут перечислены все имена, и регулярка выполнится нужное количество раз.



20 июля 2012, 18:21
Зарегистрирован: 20 марта 2010, 23:25
Но, имея имена, можно создать один файл, в котором будут перечислены все имена, и регулярка выполнится нужное количество раз.


Я такого функционала не знаю, через "SearchReplaceSnipets" согласен, можно вставить в программу сразу все 80 ссылок для удаления.

Но чтобы через "поиск и замена" в самой программе... Такого не знаю.

Можно подробнее? Например возьмем мой случай.

Так вот, имеем например, такой список:

image1.jpg; image12.png; image502.jpeg;

регулярка будет иметь вид: <img src="~images\ххххххххх" />

И как можно сделать, чтобы вместо ххххххххх вставлялись названия из файла? И регулярка выполнилась столько раз сколько названий в файле.

Возможно ли это?



28 августа 2012, 05:32
Зарегистрирован: 22 октября 2011, 13:54
Ну, в этом случае



image1.jpg; image12.png; image502.jpeg;



проще создать регулярку вида

<img src="~images\image.*\..*;\" \/>

Что-то типа того, на рабочесть не проверял но суть в том, что в показанном примере есть признаки, по которым можно составить регулярку image12.png;

Это цифры и расширение. Цифры можно удалять специальным кодом \d+

О вашем случае, том, что раньше, сказать что-либо сложно, так как под ХХХХХ можно понимать всё, что угодно. Что касается 80 картинок, то и тут можно найти массу решений,- например, выделить эти сообщения через фильтры в отдельную папку, а там уже изголяться над ними и так далее. Вы говорите в общем, а решения требуете конкретного, так невозможно найти решение, ибо параметры знаете только вы. Чтобы чётко ответить надо видеть проект, либо примеры ссылок.



29 августа 2012, 03:51
Зарегистрирован: 20 марта 2010, 23:25
Сейчас пробовал, предупреждение о ошибке при отсутствии картинки не выскакивает. Наверное внесены поправки в работу программы. Так что тему можно закрывать. Остается проблема поиска и удаления ссылок на отсутствующие картинки. Если картинки нет, а ссылка имеет правильный вид, то найти такую картинку можно только визуально в менеджере картинок. Вместо картинки будет перечеркнутый квадрат с надписью "Файл не найден". Но здесь никакие регулярки не помогут.