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

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

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

Post by AleXH » Sat 17 Aug, 2013 07:30

Пожелание:
Добавить поддержку регэкспов в строку замены также. Конечно, это умеет делать RESearch, но хотелось бы иметь такую возможность уже встроенную в FAR, к тому же по факту встроенные регэкспы гораздо быстрее.
Last edited by AleXH on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Изменён заголовок Темы

Denis
Posts: 1421
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 8 times
Been thanked: 2 times

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

Post by Denis » Sat 17 Aug, 2013 07:55

А разве уже нет?

AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

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

Post by AleXH » Sat 17 Aug, 2013 08:02

тогда попробуйте заменить например, \x00 на \x01

Denis
Posts: 1421
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 8 times
Been thanked: 2 times

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

Post by Denis » Sat 17 Aug, 2013 08:06

Тогда это уже совсем другой вопрос.

ccaid
Posts: 846
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 17 times
Been thanked: 5 times

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

Post by ccaid » Sat 17 Aug, 2013 08:33

указанный инц не в тему. имеется ввиду, что нельзя использовать выражение типа \x01 в строке замены
Фар делают добрые люди

Denis
Posts: 1421
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 8 times
Been thanked: 2 times

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

Post by Denis » Sat 17 Aug, 2013 08:41

Значит, можно ещё один завести.

fml2
Posts: 518
Joined: Mon 09 Jul, 2012 22:10
Has thanked: 1 time
Been thanked: 7 times

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

Post by fml2 » Fri 23 Aug, 2013 11:33

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

Или я что-то путаю?

User avatar
HaRT
Moderator
Posts: 9166
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 90 times
Been thanked: 177 times

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

Post by HaRT » Fri 23 Aug, 2013 12:26

fml2 wrote:По-моему, в строке замены он не имеет (не должен иметь) какого-то специального значения. [...] Или я что-то путаю?
Путаете.
См. “Syntax Using Dollar Signs” в Replacement Text Reference.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Shmuel
Posts: 5925
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 23 times
Been thanked: 233 times

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

Post by Shmuel » Fri 23 Aug, 2013 12:30

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

А спец-значение $ в строке замены имеет, напр. $0 ... $9.

User avatar
t-rex
Страшный и ужасный
Posts: 4903
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 3 times
Contact:

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

Post by t-rex » Fri 23 Aug, 2013 16:10

$* = * - читайте хэлп

Shmuel
Posts: 5925
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 23 times
Been thanked: 233 times

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

Post by Shmuel » Fri 23 Aug, 2013 17:08

t-rex wrote:$* = * - читайте хэлп
Хелп можно и поправить.
А для экранирования использовать \, так как это наиболее распространено и интуитивно.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 14 times
Contact:

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

Post by NightRoman » Fri 23 Aug, 2013 17:25

Для экранирования $ вроде используется двойной $$

Shmuel
Posts: 5925
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 23 times
Been thanked: 233 times

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

Post by Shmuel » Fri 23 Aug, 2013 17:44

NightRoman wrote:Для экранирования $ вроде используется двойной $$
Как мы видим из хелпа, $ используется для экранирования любого символа в строке замены, кроме [0-9A-Za-z].

User avatar
t-rex
Страшный и ужасный
Posts: 4903
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 3 times
Contact:

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

Post by t-rex » Sat 24 Aug, 2013 00:35

$ это спец символ, поэтому один $ без доп символа это ошибка синтакса, но так как мы не выдаём сообщ. о таком то он просто игнорируется. так и задумано.

Shmuel
Posts: 5925
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 23 times
Been thanked: 233 times

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

Post by Shmuel » Sat 24 Aug, 2013 03:28

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

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

Code: Select all

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

2useven10
Posts: 3985
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 173 times

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

Post by 2useven10 » Sat 24 Aug, 2013 06:51

$n - как в перл (похоже на перл), и это не совсем символ экранирования.
\ в перл является символом экранирования, проблема только в том, что в фар это не реализовано.

Post Reply

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