Соответствие Regex и поддержка с помощью nano?

17

Мне известно о функции поиска и замены nano , но можно ли использовать регулярные выражения для сопоставления и замены (в частности, замены, которые используют часть соответствия)? Если да, можете ли вы привести несколько примеров используемого синтаксиса (как для сопоставления, так и для замены)?

Я режу зубы на регулярных выражениях в стиле Perl, но я обнаружил, что текстовые редакторы иногда придумывают свой собственный синтаксис.

    
задан Daniel Standage 12.10.2011 в 21:36
источник

3 ответа

13

Вам нужно добавить или не комментировать следующую запись в своем глобальном файле nanorc (на моей машине это было /etc/nanorc ):

set regexp

Затем запустите новый терминал и нажмите CTRL + / и выполните ваши замены, которые теперь должны быть регулярными.

ИЗМЕНИТЬ

Искать conf->(\S+) :

Заменить _conf

Нажмите a , чтобы заменить все вхождения:

Конечный результат:

    
ответ дан Bart Kiers 12.10.2011 в 22:10
источник
16

Моя версия nano имеет возможность swtich для поиска регулярных выражений с символом meta + R . В cygwin для Windows мета-ключ alt , поэтому я попал в ctrl + \ , чтобы перейти в режим поиска и замены, а затем alt + r в swtich для поиска регулярных выражений.     

ответ дан user151841 26.10.2011 в 16:28
источник
11

Формат / обозначение регулярного выражения для nano-использования « Extended Regular Expression », то есть POSIX Extended Regular Expression , который используется egrep и sed -r , это включают метасимволы . , [ и ] , ^ , $ , ( , ) , to , * , { и } , ? , + , | и классы символов, такие как [:alnum:] , [:alpha:] , [:cntrl:] , [:digit:] , [:graph:] , [:lower:] , [:print:] , [:punct:] , [:space:] , [:upper:] и [:xdigit:] .

Для более полной документации вы можете увидеть страницу руководства, man 7 regex в Linux или man 7 re_format в OS X. Эта страница также может предоставить вам такую ​​же информацию: Ссылка

К сожалению, в nano, похоже, нет способа сопоставить что-либо, охватывающее несколько строк.

    
ответ дан S P Arif Sahari Wibowo 27.11.2012 в 19:59
источник