Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Регулярные выражения. Замена начальных пробелов подчерками. / 3 сообщений из 3, страница 1 из 1
02.11.2013, 17:31
    #38450909
Rostislav D. Kudryashov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения. Замена начальных пробелов подчерками.
Использовал sed.exe. Не смог придумать ничего лучшего, чем вот такое многострочие
Код: plaintext
1.
2.
3.
4.
s/^\(_*\) /\1_/g
s/^\(_\{1\}\) /\1_/g
s/^\(_\{2\}\) /\1_/g
...
Как бы записать замену одной командой, чтоб можно было использовать в FARe?
...
Рейтинг: 0 / 0
04.11.2013, 21:28
    #38452301
Rostislav D. Kudryashov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения. Замена начальных пробелов подчерками.
Задача решается в редакторе MultiEdit 2008 с помощью якоря \G, если в Tools-Customize-Search установить "Regular Expression Type" на Perl. Символы << >> использованы здесь для видимости пробела.
Строка выражения: <<\G >>
Строка замены: <<_>>
Нажать кнопку All.
...
Рейтинг: 0 / 0
01.12.2013, 08:57
    #38484839
volodin661
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения. Замена начальных пробелов подчерками.
Rostislav D. Kudryashov,

Код: perl
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
# кавычки тут двойные ( под ком.строку виндус )

perl -pi.old  -e " /^\s+/;  $_ = '_'  x  $+[0] . $' "   aaa 

#  /^\s+/     - находим нач.пробелы
#  в переменной $+[0] хранится смещение от начала строки до переменной $' (в которой лежит остаток строки после найденных пробелов )
#   '_' х  $+[0]    - повторить _подчеркивание $+[0] раз

# исходный  файл ааа сохранится с расширением .old



генерация тестового файла:

 perl -E "say ' ' x rand(20) . $_ x 20 for 1..100" > aaa
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Регулярные выражения. Замена начальных пробелов подчерками. / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]