Извлеките и используйте часть строки с регулярным выражением в GVIM - PullRequest
2 голосов
/ 20 мая 2010

У меня есть строка:

doCall(valA, val.valB);

Используя регулярное выражение в GVIM, я хотел бы изменить это на:

valA = doCall(valA, val.valB);

Как бы я поступил так? Я использую %s для базового поиска и замены в GVIM, но это немного отличается от моего обычного использования.

Спасибо

1 Ответ

1 голос
/ 20 мая 2010

Вы можете использовать это:

%s/\vdoCall\(<(\w*)>,/\1 = doCall(\1,/

\v включает «больше магии» в регулярных выражениях - здесь это не является строго обязательным, но я обычно использую его, чтобы сделать выражения проще <…> соответствует границам слова, а промежуточная часть соответствует первому параметру и помещает его в первую группу захвата. Замена использует \1 для доступа к этой группе захвата и вставки в правильные два места.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...