Регулярные выражения — ликбез по регэкспам

Здесь обсуждаются темы, косвенно связанные с Far.
ladserg
Posts: 229
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 5 times
Been thanked: 3 times

Re: LuaFAR Search

Post by ladserg »

Latest post of the previous page:

Shmuel wrote:Попробуйте добавить в файл строчку abc - она не будет выведена без |^.{1,3}$ в паттерне.
Понял, спасибо.

ladserg
Posts: 229
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 5 times
Been thanked: 3 times

Re: LuaFAR Search

Post by ladserg »

Shmuel wrote:Попробуйте добавить в файл строчку abc - она не будет выведена без |^.{1,3}$ в паттерне.
Кажется я разобрался в чем была моя ошибка. Предлагаю чуток изменить справку по поводу вот таких конструкций на текст вида:
(?= шаблон) - после этой точки есть фрагмент текста, который соответствует указанному регулярному выражению,
(?! шаблон) - после этой точки нет текста, который бы соответствовал указанному регулярному выражению,
(?<= шаблон) - перед этой точкой есть фрагмент текста, соответствующий указанному регулярному выражению,
(?<! шаблон) - перед этой точкой нет фрагмента текста, соответствующего указанному регулярному выражению.
Он, признаться, понятнее чем нынешний текст.

Теперь получается паттерн можно упростить: ^(?!.*\.dll$).*$ , вроде работает, если я правильно понял приведенную мною цитату :-/ .

Shmuel
Posts: 6068
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 301 times

Re: LuaFAR Search

Post by Shmuel »

^(?!.*\.dll$).+$ - чтобы не выдавал пустые строки.

ladserg
Posts: 229
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 5 times
Been thanked: 3 times

Re: LuaFAR Search

Post by ladserg »

Shmuel wrote:^(?!.*\.dll$).+$ - чтобы не выдавал пустые строки.
Да, правда оно не соответствует условию:
Ищу все строки в которых нет DLL файлов
:-)

gotar
Posts: 316
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 9 times

Ликбез по регулярным выражениям

Post by gotar »

Чем отличается ^(.*?\-\-) от ^(.*?\-{2}) ?

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

Ликбез по регулярным выражениям

Post by John Doe »

Ничем.

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

Ликбез по регулярным выражениям

Post by HaRT »

В некоторых диалектах (например, basic regular expressions) фигурные скобки не поддерживаются, в некоторых случаях их надо включать специально. Например, для [i]gawk[/i] надо задать опцию --re-interval.
PS
Кроме того, вне [] минус экранировать не требуется.
Фар есть инструмент, а не нянька. © 2009 DrKnS

gotar
Posts: 316
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 9 times

Ликбез по регулярным выражениям

Post by gotar »

Off Topic
Надеюсь очевидно, что мой вопрос связан с changelog и бурным обсуждением регулярных выражений на мантисс
Last edited by gotar on Wed 04 Feb, 2015 12:21, edited 3 times in total.

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

Ликбез по регулярным выражениям

Post by HaRT »

gotar wrote: мой вопрос связан с changelog и бурным обсуждением регулярных выражений на мантис
Линкифицируйте, пжлст. А заодно и опечатку можно исправить. :)
PS
Потренироваться можно в Песочнице.
Фар есть инструмент, а не нянька. © 2009 DrKnS

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

Ликбез по регулярным выражениям

Post by John Doe »

gotar wrote: ]Надеюсь очевидно
Отнюдь.
На мантисе фигурировали приведённые вами примеры, но чего вы хотите теперь здесь?

gotar
Posts: 316
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 9 times

Ликбез по регулярным выражениям

Post by gotar »

я понял changelog так, что Far Team считает эти два RE различными. Если они означают одно и то же, вопросов нет.

Shmuel
Posts: 6068
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 301 times

Ликбез по регулярным выражениям

Post by Shmuel »

gotar wrote: я понял changelog так, что Far Team считает эти два RE различными.
Если в чейнжлоге Фара делается запись по мантису, то обычно просто копируется заголовок тикета с мантиса. Как и в данном случае.

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

Ликбез по регулярным выражениям

Post by John Doe »

gotar wrote: Если они означают одно и то же, вопросов нет.
Одно и тоже, это очевидно из обсуждения в тикете, да и разве попробовать самому не быстрее, чем строчить на форум?

P.S.
Если хотите чтобы вас понимали сразу, то не скупитесь на ссылки и цитаты.

User avatar
Raistlin
Posts: 728
Joined: Wed 16 Mar, 2005 16:01
Has thanked: 3 times
Been thanked: 1 time

Регулярные выражения — ликбез по регэкспам

Post by Raistlin »

Какой регэксп найдет строку, но не найдет (при том, что в тексте до и после искомой строки могут неоднократно встречаться и foo, и bar)?
Magically yours
Raistlin

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

Регулярные выражения — ликбез по регэкспам

Post by HaRT »

Raistlin, под any_string понимается произвольная последовательность символов в пределах одной строки? Во втором (отрицательном) примере эта подстрока одинаковая?
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
Raistlin
Posts: 728
Joined: Wed 16 Mar, 2005 16:01
Has thanked: 3 times
Been thanked: 1 time

Регулярные выражения — ликбез по регэкспам

Post by Raistlin »

HaRT, any_string - произвольная последовательность символов. Соответственно, во втором примере она может быть другой.
Magically yours
Raistlin

Post Reply

Return to “Операционные системы, командные оболочки и прочее”