FAR3: RegExp — регулярные выражения

Хотите говорить о Far и не знаете, куда обратиться?
AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

FAR3: RegExp — регулярные выражения

Post by AleXH »

Пожелание:
Добавить поддержку регэкспов в строку замены также. Конечно, это умеет делать RESearch, но хотелось бы иметь такую возможность уже встроенную в FAR, к тому же по факту встроенные регэкспы гораздо быстрее.
Last edited by AleXH on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Изменён заголовок Темы
Denis
Posts: 1444
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 10 times
Been thanked: 5 times

Re: FAR3. RegEXP (регулярные выражения)

Post by Denis »

А разве уже нет?
AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

Re: FAR3. RegEXP (регулярные выражения)

Post by AleXH »

тогда попробуйте заменить например, \x00 на \x01
Denis
Posts: 1444
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 10 times
Been thanked: 5 times

Re: FAR3. RegEXP (регулярные выражения)

Post by Denis »

Тогда это уже совсем другой вопрос.
ccaid
Posts: 908
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 24 times
Been thanked: 6 times

Re: FAR3. RegEXP (регулярные выражения)

Post by ccaid »

указанный инц не в тему. имеется ввиду, что нельзя использовать выражение типа \x01 в строке замены
Фар делают добрые люди
Denis
Posts: 1444
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 10 times
Been thanked: 5 times

Re: FAR3. RegEXP (регулярные выражения)

Post by Denis »

Значит, можно ещё один завести.
fml2
Posts: 534
Joined: Mon 09 Jul, 2012 22:10
Has thanked: 2 times
Been thanked: 8 times

Re: Глюки и баги, появившиеся в «ночных сборках»

Post by fml2 »

Сборка 3619, x86. Комментарий в changelog:
$ как последний символ строки замены при поиске с регэкспами вставлял \x00 вместо того чтоб игнорироваться.
А разве символ "$" в строке замены должен игнорироваться? По-моему, в строке замены он не имеет (не должен иметь) какого-то специального значения. Только в строке поиска он означает привязку к концу строки.

Или я что-то путаю?
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Глюки и баги, появившиеся в «ночных сборках»

Post by HaRT »

fml2 wrote:По-моему, в строке замены он не имеет (не должен иметь) какого-то специального значения. [...] Или я что-то путаю?
Путаете.
См. “Syntax Using Dollar Signs” в Replacement Text Reference.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: Глюки и баги, появившиеся в «ночных сборках»

Post by Shmuel »

fml2 wrote:А разве символ "$" в строке замены должен игнорироваться? По-моему, в строке замены он не имеет (не должен иметь) какого-то специального значения.
Раздел форума вы выбрали неправильный: если поведение соответствует докам (т.е. чейнжлогу), то это - не баг. Однако по сути вопроса, я присоединяюсь и прошу t-rex'а не выбрасывать этот доллар, а рассматривать его как обычный символ.

А спец-значение $ в строке замены имеет, напр. $0 ... $9.
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Re: FAR3: RegExp — регулярные выражения

Post by t-rex »

$* = * - читайте хэлп
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: FAR3: RegExp — регулярные выражения

Post by Shmuel »

t-rex wrote:$* = * - читайте хэлп
Хелп можно и поправить.
А для экранирования использовать \, так как это наиболее распространено и интуитивно.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: FAR3: RegExp — регулярные выражения

Post by NightRoman »

Для экранирования $ вроде используется двойной $$
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: FAR3: RegExp — регулярные выражения

Post by Shmuel »

NightRoman wrote:Для экранирования $ вроде используется двойной $$
Как мы видим из хелпа, $ используется для экранирования любого символа в строке замены, кроме [0-9A-Za-z].
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Re: FAR3: RegExp — регулярные выражения

Post by t-rex »

$ это спец символ, поэтому один $ без доп символа это ошибка синтакса, но так как мы не выдаём сообщ. о таком то он просто игнорируется. так и задумано.
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: FAR3: RegExp — регулярные выражения

Post by Shmuel »

t-rex wrote:$ это спец символ, поэтому один $ без доп символа это ошибка синтакса, но так как мы не выдаём сообщ. о таком то он просто игнорируется. так и задумано.
Суть предложения о замене $ (как символа экранирования) на \ в том, что \ - это как бы стандарт, и чтобы не было разнобоя между Фаром и большинством плагинов. На данный момент, $ как символ экранирования используется в Фаре и EdtFind, а \ как символ экранирования используется в S&R, RESearch и LF Search.

Использование \ как символа экранирования практически повсеместно. В частности, строка замены сможет содержать общепринятые сочетания типа \t, \n, \xHH и т.д. Сейчас их можно вставить только посредством CtrlQ, что является спецификой Фара, т.е. не стандартно, да и визуально не радует:

Code: Select all

foo♪bar   baz
Глянув на такую строку, не поймёшь, что bar и baz разделены табом.
Post Reply

Return to “Обсуждение Far Manager”