FAR3: RegExp — регулярные выражения
FAR3: RegExp — регулярные выражения
Пожелание:
Добавить поддержку регэкспов в строку замены также. Конечно, это умеет делать RESearch, но хотелось бы иметь такую возможность уже встроенную в FAR, к тому же по факту встроенные регэкспы гораздо быстрее.
Добавить поддержку регэкспов в строку замены также. Конечно, это умеет делать RESearch, но хотелось бы иметь такую возможность уже встроенную в FAR, к тому же по факту встроенные регэкспы гораздо быстрее.
Last edited by AleXH on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Изменён заголовок Темы
Reason: Изменён заголовок Темы
Re: Глюки и баги, появившиеся в «ночных сборках»
Сборка 3619, x86. Комментарий в changelog:
Или я что-то путаю?
А разве символ "$" в строке замены должен игнорироваться? По-моему, в строке замены он не имеет (не должен иметь) какого-то специального значения. Только в строке поиска он означает привязку к концу строки.$ как последний символ строки замены при поиске с регэкспами вставлял \x00 вместо того чтоб игнорироваться.
Или я что-то путаю?
- HaRT
- Moderator
- Posts: 10823
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Re: Глюки и баги, появившиеся в «ночных сборках»
Путаете.fml2 wrote:По-моему, в строке замены он не имеет (не должен иметь) какого-то специального значения. [...] Или я что-то путаю?
См. “Syntax Using Dollar Signs” в Replacement Text Reference.
Фар есть инструмент, а не нянька. © 2009 DrKnS
-
- Posts: 6820
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 528 times
Re: Глюки и баги, появившиеся в «ночных сборках»
Раздел форума вы выбрали неправильный: если поведение соответствует докам (т.е. чейнжлогу), то это - не баг. Однако по сути вопроса, я присоединяюсь и прошу t-rex'а не выбрасывать этот доллар, а рассматривать его как обычный символ.fml2 wrote:А разве символ "$" в строке замены должен игнорироваться? По-моему, в строке замены он не имеет (не должен иметь) какого-то специального значения.
А спец-значение $ в строке замены имеет, напр. $0 ... $9.
-
- Posts: 6820
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 528 times
Re: FAR3: RegExp — регулярные выражения
Хелп можно и поправить.t-rex wrote:$* = * - читайте хэлп
А для экранирования использовать \, так как это наиболее распространено и интуитивно.
- NightRoman
- Posts: 6184
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 32 times
- Been thanked: 62 times
- Contact:
-
- Posts: 6820
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 528 times
Re: FAR3: RegExp — регулярные выражения
Как мы видим из хелпа, $ используется для экранирования любого символа в строке замены, кроме [0-9A-Za-z].NightRoman wrote:Для экранирования $ вроде используется двойной $$
- 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 — регулярные выражения
$ это спец символ, поэтому один $ без доп символа это ошибка синтакса, но так как мы не выдаём сообщ. о таком то он просто игнорируется. так и задумано.
-
- Posts: 6820
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 528 times
Re: FAR3: RegExp — регулярные выражения
Суть предложения о замене $ (как символа экранирования) на \ в том, что \ - это как бы стандарт, и чтобы не было разнобоя между Фаром и большинством плагинов. На данный момент, $ как символ экранирования используется в Фаре и EdtFind, а \ как символ экранирования используется в S&R, RESearch и LF Search.t-rex wrote:$ это спец символ, поэтому один $ без доп символа это ошибка синтакса, но так как мы не выдаём сообщ. о таком то он просто игнорируется. так и задумано.
Использование \ как символа экранирования практически повсеместно. В частности, строка замены сможет содержать общепринятые сочетания типа \t, \n, \xHH и т.д. Сейчас их можно вставить только посредством CtrlQ, что является спецификой Фара, т.е. не стандартно, да и визуально не радует:
Code: Select all
foo♪bar baz