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

Хотите говорить о Far и не знаете, куда обратиться?
2useven10
Posts: 3982
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 172 times

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

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

Latest post of the previous page:

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

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

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

Post by Shmuel » Sat 24 Aug, 2013 07:12

2useven10 wrote:$n - как в перл (похоже на перл), и это не совсем символ экранирования.
$n не предлагается трогать/изменять. Имеется в виду следующее:
Help wrote:

Code: Select all

$* is replaced with '*' character.
Это и есть экранирование.

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

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

Post by 2useven10 » Sat 24 Aug, 2013 07:55

я и не говорю, что это совсем не символ экранирования.
имхо, $ надо или оставить как есть, или не использовать вообще (дело вкуса - можно опцию).
это не проблема. не хватает как раз возможностей экранирования через \, вот это было бы полезно,
на форуме и багтрекере уже несколько раз тема поднималась, свободную энергию лучше направить сюда :)

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

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

Post by AleXH » Sun 22 Dec, 2013 12:37

Неправильно обрабатываются регулярки, начинающиеся с ^ , например:
Искать: ^\w+?\x20
Заменить на: пусто
Будет "пожирать" слово за словом в строке. RESearch, начиная с 8.01, перл и луа заменяют только первое слово в строке и это правильно, так как указано его размещение. Если мы хотим удалять слово за словом без привязки к расположению, то пишем просто \w+?\x20. Такое поведение более интуитивно и ожидаемо.

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 » Tue 24 Dec, 2013 18:00

У меня ничего не пожирает.

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

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

Post by HaRT » Tue 24 Dec, 2013 18:03

t-rex wrote:У меня ничего не пожирает.
Очевидно, AleXH имеет в виду замену в редакторе.
Фар есть инструмент, а не нянька. © 2009 DrKnS

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

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

Post by Shmuel » Tue 24 Dec, 2013 18:07

t-rex wrote:У меня ничего не пожирает.
Пожирает. Можно более простой пример: заменить ^. на пустую строку. Съест все символы в файле, кроме перевода строк.

User avatar
hobo
Posts: 28
Joined: Sun 21 Mar, 2010 08:17

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

Post by hobo » Thu 26 Dec, 2013 02:59

AleXH wrote: Искать: ^\w+?\x20
Заменить на: пусто
Будет "пожирать" слово за словом в строке.
Наверно, потому что второе слово после удаления первого становится первым? Тогда заменять на пробел. И зачем в выражении два квантификатора -- '+' и '?'? Можно же проще написать: ^\w+\s.

User avatar
John Doe
Бюрократ
Posts: 12526
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 230 times

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

Post by John Doe » Thu 26 Dec, 2013 08:38

hobo wrote:И зачем в выражении два квантификатора -- '+' и '?'? Можно же проще написать: ^\w+\s.
Зачем -- можно почитать в справке.
А так ваше 'простое' выражение не соответствует 'сложному'.

User avatar
hobo
Posts: 28
Joined: Sun 21 Mar, 2010 08:17

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

Post by hobo » Thu 26 Dec, 2013 09:06

John Doe wrote:Зачем -- можно почитать в справке.
А так ваше 'простое' выражение не соответствует 'сложному'.
Сорри. Забыл про "нежадный" поиск. А так, пробел и так не является "символом слова", и "нежадный" поиск здесь излишен. ИМХО.

User avatar
John Doe
Бюрократ
Posts: 12526
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 230 times

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

Post by John Doe » Thu 26 Dec, 2013 09:10

В этом вы правы.
Кроме того \s это не только пробел

Post Reply

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