Regular Expression Search and Replace (RESearch)

Здесь можно обсудить ваш любимый плагин.
User avatar
Raistlin
Posts: 750
Joined: Wed 16 Mar, 2005 16:01
Has thanked: 3 times
Been thanked: 1 time

Regular Expression Search and Replace (RESearch)

Post by Raistlin »

Latest post of the previous page:

Cavaler wrote: Tue 21 Nov, 2017 17:14Это вообще диалог не от моего плагина!
М-да. Mea culpa. Прощу прощения за настойчивое мороченье головы.
Cavaler wrote: Tue 21 Nov, 2017 17:17Если это _поиск_ - то не должно быть никаких "Пропустить". Это кнопка из функции замены. Так что же все-таки ты делаешь?
Замену. В изначальном посте диалог правильный.
emusic
Posts: 63
Joined: Tue 26 Nov, 2013 06:39
Location: Новосибирск
Has thanked: 1 time
Been thanked: 1 time

Regular Expression Search and Replace (RESearch)

Post by emusic »

И все-таки, отсутствие опции типа "whole word only" в режиме Plain Text объясняется умыслом, или просто руки не дошли?
User avatar
Cavaler
Posts: 1184
Joined: Mon 27 Jun, 2005 12:06
Been thanked: 10 times
Contact:

Regular Expression Search and Replace (RESearch)

Post by Cavaler »

emusic wrote: Wed 22 Nov, 2017 05:58И все-таки, отсутствие опции типа "whole word only" в режиме Plain Text объясняется умыслом, или просто руки не дошли?
Умыслом. Ибо это все равно будет RegExp search.
emusic
Posts: 63
Joined: Tue 26 Nov, 2013 06:39
Location: Новосибирск
Has thanked: 1 time
Been thanked: 1 time

Regular Expression Search and Replace (RESearch)

Post by emusic »

Cavaler wrote: Tue 28 Nov, 2017 16:25Умыслом. Ибо это все равно будет RegExp search.
Понятно, что внутри кода это преобразуется в RegExp, однако опция типа "Whole word" таки давно стала стандартной, а маркеры границ слова в разных реализациях RegExp обозначаются по-разному, приходится вспоминать-уточнять.

На мой взгляд, имело бы смысл добавить опцию в диалог.
Ilya_Nsk
Posts: 10
Joined: Mon 28 Nov, 2011 13:06
Has thanked: 1 time

Regular Expression Search and Replace (RESearch)

Post by Ilya_Nsk »

C НГ всех.
То ли мне кажется, но похоже, что-то не так со счетчиком замен при переименовании файлов.
Имеется папка с файлами, как результат

Code: Select all

001_A pillow of winds.mp3
001_Echoes.mp3
001_Fearless.mp3
001_One of these days.mp3
001_San tropez.mp3
001_Seamus.mp3
(про источник не будем уточнять :whistle: )
поиск был: ^\s*\d+[.-_]\s*(.+)
замена: ${R+001}_$1
Старые номера были убраны, а вот с новыми - беда.
То же самое выражение замены в текстовом файле работает, как задумано. Какая-то настройка?
Как пользоваться перенумерацией в плагине не сообразил.
Last edited by Ilya_Nsk on Thu 04 Jan, 2018 07:14, edited 1 time in total.
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Regular Expression Search and Replace (RESearch)

Post by HaRT »

Пожелание: сделать красивое выравнивание в окошке со статистикой сделанных замен.

Т.е. чтобы метки выравнивались по двоеточию, а соответствующие числа (вхождения, файлы) — поразрядно.
Фар есть инструмент, а не нянька. © 2009 DrKnS
universalkludge
Posts: 5
Joined: Sun 21 Jan, 2018 22:08
Has thanked: 3 times

Regular Expression Search and Replace (RESearch)

Post by universalkludge »

начал пользовать - grep хорошо иметь
АДС поддержка планируется?
Shtirla
Posts: 117
Joined: Wed 04 Mar, 2009 20:09
Has thanked: 10 times
Been thanked: 2 times

Regular Expression Search and Replace (RESearch)

Post by Shtirla »

Спасибо автору за плагин, не раз просто спасал.
сейчас решая очередную нетривиальную задачу появилось несколько предложений по улучшению

1) хотелось бы иметь возможность массово применить пакет (пресетов) из редактора к файлам по маске например (именно пакет, т.е. несколько пресетов в нужном порядке)
2) да и вообщ разделение пресетов на для редактора и для панели не очень как то, т.е. я понимаю что маски там и т.п. но сам пресет текстовой замены текста имхо должен быть в одном "подпространстве", т.е. настроил в редакторе подхватил в панельках
3) предложил бы пересмотреть концепцию хранения пресетов, хранить не в базе плагина а в текстовых файлах по отдельности.
4) если возможно, хотелось бы иметь возможность удаления несовпавшего в многострочных заменах, очень прямо хотелось бы, а то найти то то что нужно - быстро, а вот потом как только это оставить.... извращаться приходится
5)и по функции фильтрации так же, хотелось бы иметь возможность многострочных регекспов, а еще неплохо бы "живой поиск" как в плагине FilterLines

просто мысли вслух, если хоть что то когда то реализуется, буду рад.
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Regular Expression Search and Replace (RESearch)

Post by HaRT »

Shtirla wrote: Wed 07 Feb, 2018 12:25найти то то что нужно - быстро, а вот потом как только это оставить
Можно практический пример, когда реально приходилось извращаться?
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shtirla
Posts: 117
Joined: Wed 04 Mar, 2009 20:09
Has thanked: 10 times
Been thanked: 2 times

Regular Expression Search and Replace (RESearch)

Post by Shtirla »

ну например сотня файлов(по сверке из разных списков по базе), все разных размеров, от 10 до 10000 строк, в каждом определенным образом представленая информация, грубо говоря запись на объект, с идентификатором, и несколько строк описаний именно этого объекта. на один объект может быть несколько записей, нужно было выбрать записи с идентификатором, где в описании встречается определенный патерн.
вот и пришлось писать пакет, который
1 сначала находил многострочный патерн, и обрамлял его признаком начала и конца
2 выставлял в начале файла признак конца, в конце признак начала)
3 заменял все между признаком конца-начала (несовпавшее с первым патерном получается) на ничто
а потом по всем файлам ручками пройтись

искать по патерну и копировать не вариант,
многострочный патерн заменой как то вытащить тоже не получилось,
фильтрация не умеет многострочно.

может у меня конечно хреновое кунгфу, не спорю, либо не знаю чего то,
задачу надо было решить максимально быстро, поэтому использовал то чем пользуюсь, ткнулся по началу в super-sed который вроде pcre так же адекватно воспринимает, но что то с многострочниками не пошло.
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Regular Expression Search and Replace (RESearch)

Post by HaRT »

Shtirla wrote: Wed 07 Feb, 2018 13:00может у меня конечно хреновое кунгфу
Вот именно это я и подозреваю.
Пользуетесь ли вы в регэкспе разметкой групп (в т.ч. именованными группами)? Умеете ли пользоваться просмотром вперёд/назад (lookahead/lookbehind) и их отрицанием (negative lookahead/lookbehind)? Если нет, то весьма вероятно, что, освоив их, избежите многих извратов.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shtirla
Posts: 117
Joined: Wed 04 Mar, 2009 20:09
Has thanked: 10 times
Been thanked: 2 times

Regular Expression Search and Replace (RESearch)

Post by Shtirla »

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

может научите если несложно, пример ща сочиню, если офтопик давайте перенесем, уберу под спойлер

Shtirla
Posts: 117
Joined: Wed 04 Mar, 2009 20:09
Has thanked: 10 times
Been thanked: 2 times

Regular Expression Search and Replace (RESearch)

Post by Shtirla »

вы были правы :smart:



но удалять проще)
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Regular Expression Search and Replace (RESearch)

Post by HaRT »

Подсчёт вхождений в редакторе пропускает некоторые вхождения.
Я на это напоролся на практически значимом примере, но удалось минимизировать донельзя.
Открываем приложенный файл в редакторе, открываем , вводим 2, нажимаем кнопку [ Count all ].
Ожидаем, что найдутся два вхождения, а .

Я пошевелил параметры и выяснил:
* Важны никсовые концы строк (LF) — с досовыми (CR LF) не воспроизводится.
* [x] Regular expression не влияет.
* [x] Use real end-of-line sequences в настройках не влияет.
* Ошибка появилась не в Фар 3 — она воспроизводится и в Фар 1.75.
* В версии 8.66 ошибки ещё нет. Вероятно, дело в
History.txt wrote:Fixed support for nonstandard newlines like \r\r\n
Win 8.1 x64; Far Manager, version 3.0 (build 5145) x86; RESearch 8.67, без других плагинов.
Attachments
RESearch_Editor-count-1vs2.txt
'2' LF '2' LF
(4 Bytes) Downloaded 161 times
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
alandr967
Posts: 24
Joined: Mon 30 Oct, 2017 14:21
Location: Odessa
Has thanked: 7 times
Been thanked: 1 time

Regular Expression Search and Replace (RESearch)

Post by alandr967 »

Плагин не работает с NetBox, подключился по ssh к Linux - AltF7 не реагирует.Возможно я хочу слишком многого :)
DV
Posts: 455
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 31 times
Been thanked: 15 times

Regular Expression Search and Replace (RESearch)

Post by DV »

Во время поиска в файловой панели (Search или Grep) окно с прогрессом поиска бешено мелькает, то появляясь, то исчезая...
RESearch 8.67, FAR 3.0.5221 x86.
Post Reply

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