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

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

Re: LuaFAR Search

Post by ladserg »

Latest post of the previous page:

Shmuel wrote:Попробуйте добавить в файл строчку abc - она не будет выведена без |^.{1,3}$ в паттерне.
Понял, спасибо.
ladserg
Posts: 234
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 5 times
Been thanked: 6 times

Re: LuaFAR Search

Post by ladserg »

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

Теперь получается паттерн можно упростить: ^(?!.*\.dll$).*$ , вроде работает, если я правильно понял приведенную мною цитату :-/ .
Shmuel
Posts: 6839
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: LuaFAR Search

Post by Shmuel »

^(?!.*\.dll$).+$ - чтобы не выдавал пустые строки.
ladserg
Posts: 234
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 5 times
Been thanked: 6 times

Re: LuaFAR Search

Post by ladserg »

Shmuel wrote:^(?!.*\.dll$).+$ - чтобы не выдавал пустые строки.
Да, правда оно не соответствует условию:
Ищу все строки в которых нет DLL файлов
:-)
gotar
Posts: 420
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 17 times
Been thanked: 3 times

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

Post by gotar »

Чем отличается ^(.*?\-\-) от ^(.*?\-{2}) ?
User avatar
John Doe
Бюрократ
Posts: 13860
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

Ничем.
User avatar
HaRT
Moderator
Posts: 10866
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

В некоторых диалектах (например, basic regular expressions) фигурные скобки не поддерживаются, в некоторых случаях их надо включать специально. Например, для [i]gawk[/i] надо задать опцию --re-interval.
PS
Кроме того, вне [] минус экранировать не требуется.
Фар есть инструмент, а не нянька. © 2009 DrKnS
gotar
Posts: 420
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 17 times
Been thanked: 3 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: 10866
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

gotar wrote: мой вопрос связан с changelog и бурным обсуждением регулярных выражений на мантис
Линкифицируйте, пжлст. А заодно и опечатку можно исправить. :)
PS
Потренироваться можно в Песочнице.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 13860
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

gotar wrote: ]Надеюсь очевидно
Отнюдь.
На мантисе фигурировали приведённые вами примеры, но чего вы хотите теперь здесь?
gotar
Posts: 420
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 17 times
Been thanked: 3 times

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

Post by gotar »

я понял changelog так, что Far Team считает эти два RE различными. Если они означают одно и то же, вопросов нет.
Shmuel
Posts: 6839
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

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

Post by Shmuel »

gotar wrote: я понял changelog так, что Far Team считает эти два RE различными.
Если в чейнжлоге Фара делается запись по мантису, то обычно просто копируется заголовок тикета с мантиса. Как и в данном случае.
User avatar
John Doe
Бюрократ
Posts: 13860
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

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

P.S.
Если хотите чтобы вас понимали сразу, то не скупитесь на ссылки и цитаты.
User avatar
Raistlin
Posts: 750
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: 10866
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Raistlin, под any_string понимается произвольная последовательность символов в пределах одной строки? Во втором (отрицательном) примере эта подстрока одинаковая?
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
Raistlin
Posts: 750
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 “Операционные системы, командные оболочки и прочее”