Вопрос по регэкспам

Столкнулись с проблемой в использовании Far? Здесь можно получить помощь.
User avatar
CDK
Posts: 309
Joined: Thu 28 Apr, 2005 08:28
Has thanked: 13 times
Been thanked: 3 times
Contact:

Вопрос по regexp

Post by CDK »

Надо в редакторе (!) найти две подряд идущие строки: первая соджержит ABC, вторая - EDF. Пытаюсь через S&R:
^.*ABC.*(\r\n).*EDF.*$
и
^.*ABC.*$.*EDF.*$
и ... - безрезультатно. Чё не так?
Onanymous
Posts: 76
Joined: Wed 16 Mar, 2005 11:18
Contact:

Post by Onanymous »

это наверное в топик по s&r,
а по существу когда мне нужно было с многострочными рэгекспами работать приходилось запускать s&r из панелей, там тогда появлялась галочка : The whole file as a single file.
неудобно конечно, но работает.
Spinoza
Posts: 57
Joined: Sun 15 Jan, 2006 20:04
Location: Саранск
Contact:

Post by Spinoza »

В редакторе запусти плагин (F11-S&R-1), F1, второй абзац сверху.
User avatar
Andrey Budko
Posts: 1203
Joined: Fri 01 Apr, 2005 14:03
Contact:

Post by Andrey Budko »

Да и вообще с редактора что-то серьезное искать\менять в большом файле - дешевле застрелиться. С панелей быстрее в сотни и тысячи раз.
User avatar
Andrey Budko
Posts: 1203
Joined: Fri 01 Apr, 2005 14:03
Contact:

Post by Andrey Budko »

Onanymous wrote:а по существу когда мне нужно было с многострочными рэгекспами работать приходилось запускать s&r из панелей, там тогда появлялась галочка : The whole file as a single file.
неудобно конечно, но работает.
Эта галочка, кстати, обычно не нужна.
User avatar
CDK
Posts: 309
Joined: Thu 28 Apr, 2005 08:28
Has thanked: 13 times
Been thanked: 3 times
Contact:

Post by CDK »

Spinoza
Ок. Понятно.

2all - а RESearch? (я им не разу не пользовался)

В панелях не катит - мне найти надо, а не заменить

........


Кароче RESearch рулит ABC\s*\n\s*DEF
Только вот описание в нем:

Code: Select all

. (точка)    соответствует любому одиночному символу, _кроме_ символа новой строки
в режиме "несколько строк" не работает
Onanymous
Posts: 76
Joined: Wed 16 Mar, 2005 11:18
Contact:

Post by Onanymous »

CDK wrote: Кароче RESearch рулит ABC\s*\n\s*DEF
Только вот описание в нем:

Code: Select all

. (точка)    соответствует любому одиночному символу, _кроме_ символа новой строки
в режиме "несколько строк" не работает
так вроде же так и написано - кроме символа новой строки или что не работает?
Andrey Budko wrote: Эта галочка, кстати, обычно не нужна.
Коню понятно что обычно не нужна, а тут вот товарищу очень даже бы могла пригодиться.... не судьба. Или я что-то не понял?
User avatar
Andrey Budko
Posts: 1203
Joined: Fri 01 Apr, 2005 14:03
Contact:

Post by Andrey Budko »

Onanymous wrote:Коню понятно что обычно не нужна, а тут вот товарищу очень даже бы могла пригодиться.... не судьба. Или я что-то не понял?
в зачем она?
^.*ABC.*$^.*EDF.*$
Onanymous
Posts: 76
Joined: Wed 16 Mar, 2005 11:18
Contact:

Post by Onanymous »

хм... и вправду работает. а я всегда старательно выставлял галочку... пойду инфу почитаю наверное, пасибо.
User avatar
CDK
Posts: 309
Joined: Thu 28 Apr, 2005 08:28
Has thanked: 13 times
Been thanked: 3 times
Contact:

Post by CDK »

Onanymous
Она символ новой строки не замечает в этом режиме и по точке выделяет несколько строк
User avatar
John Doe
Бюрократ
Posts: 13861
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Вопрос по регэкспам

Post by John Doe »

Задача: в текстовом файле требуется заменить все символы "_" на пробелы, но не повсюду, а только в строках, начинающихся с ">"

Вопрос: Как справиться с задачей силами фаровских плагинов замены?
User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 2 times

Post by Centaur »

Плагин Search&Replace
Find: ^(>.*)_
Replace with: $1{пробел}
Повторять до насыщения.
User avatar
HaRT
Moderator
Posts: 10866
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Post by HaRT »

Centaur wrote:Повторять до насыщения.
Так неинтересно!
А вообще чем не Колумбово яйцо…
User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 2 times

Post by Centaur »

Если хочется интересно, то вот так :)

Code: Select all

perl -pe "if (/^>/) { s/_/ /g; }" <foo.txt >bar.txt
User avatar
John Doe
Бюрократ
Posts: 13861
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Post by John Doe »

Centaur wrote:Если хочется интересно, то вот так :)

Code: Select all

perl -pe "if (/^>/) { s/_/ /g; }" <foo.txt >bar.txt
В этом случае тоже повторять до насыщения, или хватит одного запуска?
Post Reply

Return to “Нужна помощь”