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

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

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

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

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

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


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