Regular Expression Search and Replace (RESearch)

Здесь можно обсудить ваш любимый плагин.
AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

Re: Regular Expression Search and Replace (RESearch)

Post by AleXH »

Latest post of the previous page:

Согласно ScriptEvaluation.txt:
Also, scripts can append additional information to the end of file after performing File / Editor Replace.
In order to do that, script can check value of final() function and return data when final()) is true.
If script didn't call final(), no data is appended.

Поскольку script can check value of final() function, а не script must check value of final() function, то ...

Но действительно работает, хоть это и не айс вставлять везде такое.
User avatar
John Doe
Бюрократ
Posts: 13075
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 42 times
Been thanked: 319 times

Re: Regular Expression Search and Replace (RESearch)

Post by John Doe »

AleXH wrote:Поскольку script can check value of final() function, а не script must check value of final() function, то ...
Это легко исправить в RESearch.
User avatar
Cavaler
Posts: 1173
Joined: Mon 27 Jun, 2005 12:06
Been thanked: 5 times
Contact:

Re: Regular Expression Search and Replace (RESearch)

Post by Cavaler »

AleXH wrote:В данном случае ничего сохранять не нужно, скрипт сам в себе
Немного не по теме - но вообще мне кажется что это очень уж нецелевое использование плагина...
User avatar
Cavaler
Posts: 1173
Joined: Mon 27 Jun, 2005 12:06
Been thanked: 5 times
Contact:

Re: Regular Expression Search and Replace (RESearch)

Post by Cavaler »

John Doe wrote:
AleXH wrote:Поскольку script can check value of final() function, а не script must check value of final() function, то ...
Это легко исправить в RESearch.
Ну если мне кто-нибудь придумает, как сделать - я сделаю.
Как вариант, можно смотреть, вызвал ли скрипт ее хоть раз вообще, правда тогда обломается финальный вызов для случая, если вообще не нашли ни одного совпадения, но наверное это не страшно.
User avatar
John Doe
Бюрократ
Posts: 13075
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 42 times
Been thanked: 319 times

Re: Regular Expression Search and Replace (RESearch)

Post by John Doe »

Да, так оптимально.
Другой вариант (похуже) это проверять сам текст скрипта.
User avatar
Cavaler
Posts: 1173
Joined: Mon 27 Jun, 2005 12:06
Been thanked: 5 times
Contact:

Re: Regular Expression Search and Replace (RESearch)

Post by Cavaler »

AleXH wrote:Если нажать ESC, то выдаются диалоги от которых невозможно избавиться - приходится убивать фар.
Вот этого я, кстати, повторить не смог.
AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

Re: Regular Expression Search and Replace (RESearch)

Post by AleXH »

Почему не целевое? - Если писать преобразователь на том же lua, то придётся создавать модуль с функциями, выполняющими роль пресетов и батчей, сортировку, фильтрацию, таблицы-словари замен, и тд и тп. Плюс надо видеть ASCII текст в процессе преобразования для поэтапной отладки из-за постоянно меняющихся входных данных - всё это удобно делать в FAR с RESearch, Sort strings, макросом высвечивающим кириллицу мимикрирующую под латиницу и др. макросами, которые создают удобную среду для работы. Без вашего инструмента я парился бы гораздо больше, большое вам спасибо за него.
User avatar
John Doe
Бюрократ
Posts: 13075
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 42 times
Been thanked: 319 times

Re: Regular Expression Search and Replace (RESearch)

Post by John Doe »

FYI: подобные пользовательские скрипты также поддерживаются в плагине LuaFAR Search.
AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

Re: Regular Expression Search and Replace (RESearch)

Post by AleXH »

Определяющим в моём выборе было на момент, когда стал вопрос - чем? - Был PCRE, с его комфортным синтаксисом и развитыми возможностями, батчи, позволяющие использовать ранее сделанные правила (пресеты) в новом конверторе, попресетная отладка, которая в купе с ASCII видом получаемого текста, позволяет быстро локализовывать проблему при косяках во входном тексте и быстро её фиксить. Ситуация такова, что на вход идёт текст с хаотичными вкраплениями "кривизны", так как он набирается руками (не моими), а на выходе нужно получить строго требуемый текст с точностью до пробела, иначе фильтр импорта (не мой) его не "всосёт". А поскольку идёт постоянная динамика, то постоянная правка скриптов будет более времязатратной.
User avatar
John Doe
Бюрократ
Posts: 13075
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 42 times
Been thanked: 319 times

Re: Regular Expression Search and Replace (RESearch)

Post by John Doe »

Я не намеревался рекламировать LuaFAR Search, но из вашего поста можно сделать превратный вывод, будто он не работает с PCRE.
На самом деле PCRE входит в число поддерживаемых движков. И пресеты кстати имеются, например.
(Какой из плагинов лучше подходит для ваших задач я судить не берусь, да и обсуждать это здесь не стоит)
AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

Re: Regular Expression Search and Replace (RESearch)

Post by AleXH »

LuaFAR Search отличный инструмент, но он появился позже, когда уже имелось наследие на RESearch, и он (LuaFAR Search) до сих пор не имеет батчей, а вместе с ними и попресетного исполнения (отладки). Реализовывать батчи макросами непрактично, а на фоне удобства реализации в сабже, я бы даже сказал - мутно. Но даже в случае появления в нём всего того сервиса, что предоставляет RESearch, встал бы вопрос переноса, на который надо тратить время, бороться с возникающими нестыковками и тд. Cavaler хоть и периодически возмущается не целевым, с его точки зрения, использованием своего инструмента, но тем не менее запрашиваемые возможности добавляет, правда не всегда в том виде в каком они запрашивались, но они работают, хоть и не с первого раза :D
User avatar
Cavaler
Posts: 1173
Joined: Mon 27 Jun, 2005 12:06
Been thanked: 5 times
Contact:

Re: Regular Expression Search and Replace (RESearch)

Post by Cavaler »

AleXH wrote:Без вашего инструмента я парился бы гораздо больше, большое вам спасибо за него.
Ужасно приятно, на самом деле.
Теперь-то работает? И можно во внешний файл скинуть скрипт, для остальных это и раньше работало, а для LuaFAR отвалилось.
AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

Re: Regular Expression Search and Replace (RESearch)

Post by AleXH »

Cavaler, всё работает, спасибо. Если отклонял развитие плагина не в ту сторону, то прошу прощения. Скрипты хороши для обработки входного потока без флуктаций, иначе требуются поэтапные откаты изменений для выявления ошибок. В RS это реализовано откатами по пресетам, а в скриптах... - поди наковыряй, что нужно исправить, чтобы пролучить то, что нужно.
DV
Posts: 439
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 23 times
Been thanked: 15 times

Re: Regular Expression Search and Replace (RESearch)

Post by DV »

Похоже, нашёл эксклюзивную для 64-битной версии проблему с регулярками.
Есть FAR 3.0 build 4034 x64, RESearchU3 x64.dll Version 8.53.
Запускаем

Получаем

Под 32-бит то же самое работает нормально.
User avatar
Cavaler
Posts: 1173
Joined: Mon 27 Jun, 2005 12:06
Been thanked: 5 times
Contact:

Re: Regular Expression Search and Replace (RESearch)

Post by Cavaler »

DV wrote:Похоже, нашёл эксклюзивную для 64-битной версии проблему с регулярками.
Есть FAR 3.0 build 4034 x64, RESearchU3 x64.dll Version 8.53.
Запускаем

Получаем

Под 32-бит то же самое работает нормально.
Не могу повторить...
А со среды я в отпуске на 2 недели.
DV
Posts: 439
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 23 times
Been thanked: 15 times

Re: Regular Expression Search and Replace (RESearch)

Post by DV »

Точно, дело не в 64-битной системе, а в том, что в Региональных настройках язык неюникодных программ стоит Английский. Если поставить Русский, то всё в порядке.
Но ведь FAR Manager юникодный ведь... Или консольный интерфейс всё равно неюникодный?
Post Reply

Return to “Обсуждение плагинов”