чОткий форум
Гость, Войти | Профиль | Очистить
Нов. | Избр.
Действия ...
Форумы / Программирование. Разные СУБД [закрыт для гостей] / vim regular back_reference (Сообщения: 9, Страницы: 1)
11.09.2020, 22:45
    #1621
Дырокол
Участник
Скрыть профиль Поместить в игнор-лист
vim regular back_reference
привет.
а существует ли какая-то возможность в vim найти строку по регулярке, но сделать в ней частичную замену, оставив некое содержимое (которое вероятно описать регуляркой) нетронутым ?

т.е. из первой картинки получить вторую?
1.jpg
2.jpg
 
Рейтинг: 0 / 0
11.09.2020, 22:45
    #1622
Дырокол
Участник
Скрыть профиль Поместить в игнор-лист
vim regular back_reference
ну конечно же можно
 
Рейтинг: 0 / 0
11.09.2020, 22:45
    #1623
Дырокол
Участник
Скрыть профиль Поместить в игнор-лист
vim regular back_reference
а как?
 
Рейтинг: 0 / 0
11.09.2020, 22:52
    #1627
Дырокол
Участник
Скрыть профиль Поместить в игнор-лист
vim regular back_reference
Напомню в виме синтаксис команды замены по всему тексту:
Код: PERL
1.
:%s/что_меняем/на_что_меняем/g
Чтобы решить задачу, стоит использовать понятие группы в регулярках и механизм бэк референс.

Для данных картинок работает так:
Код
1.
:%s/\((eq? \{1}\)\(.*\)\( '())\)/(null? \2)/g
т.е. здесь группа, которую хочу оставить - это "(.*\)".
она вторая по счёту (см. скобки)

поэтому при замене обращаюсь к ней через бэк референс по номеру через \2
Изменено: 11.09.2020, 22:55 - Дырокол
Рейтинг: 0 / 0
11.09.2020, 22:54
    #1628
Нотажко
Нотажко
Гость
Скрыть профиль Поместить в игнор-лист
vim regular back_reference
Дырокол

Здарова дырокол, ты жив? А мы уж было...
 
Рейтинг: 0 / 0
12.09.2020, 22:03
    #1797
Дырокол
Участник
Скрыть профиль Поместить в игнор-лист
vim regular back_reference
Дырокол  11.09.2020, 22:45
привет.
а существует ли какая-то возможность в vim найти строку по регулярке, но сделать в ней частичную замену, оставив некое содержимое (которое вероятно описать регуляркой) нетронутым ?

т.е. из первой картинки получить вторую?
1.jpg
2.jpg
кстати, этот шрифт взял у джетбрэйнс. нравится
 
Рейтинг: 0 / 0
12.09.2020, 22:23
    #1805
A Serious Man
Администратор
Скрыть профиль Поместить в игнор-лист
vim regular back_reference
А я эти чорные окна не очень лайк. Ща какая-то мода у молодежи пошла на эти сраные дарк темы, а я нет)
 
Рейтинг: 0 / 0
29.09.2020, 01:04
    #3572
Гопник с вантового моста
Гопник с вантового моста
Гость
Скрыть профиль Поместить в игнор-лист
vim regular back_reference
Слава Аллаху, в vim можнотприменить к строке любой внешний фильтр.
 
Рейтинг: 0 / 0
08.09.2021, 23:59
    #4016
golem_sHTERN
Участник
Скрыть профиль Поместить в игнор-лист
vim regular back_reference
A Serious Man  12.09.2020, 22:23
А я эти чорные окна не очень лайк. Ща какая-то мода у молодежи пошла на эти сраные дарк темы, а я нет)
эпоха яндекс закладок прошла ?
 
Рейтинг: 0 / 0
Форумы / Программирование. Разные СУБД [закрыт для гостей] / vim regular back_reference (Сообщения: 9, Страницы: 1)
Целевая тема:
Создать новую тему:
Автор:
Найденые участники ...
Найденые участники ...
Нов. | Избр.
x
x
Закрыть


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