LINUX.ORG.RU

vim и регулярки

 , ,


0

1

Так, перефразирую свой вопрос. Мне нужно при помощи vim и регулярных выражений найти в тексте первый дефис и заменить его. По условиям поиска в выборку попадают лишние данные. Пример: 020805-Логопедия По условию выражения d{2,8}[-][А-ЯA-Z] происходит выборка 020805-Л, но мне нужно захватить только дефис. В перловых выражениях присутствует выражение (?=blablalba), но в vim такое не проходит. Суть в том что мне нужно решить элементарную задачу, а решения нигде не могу найти, хоть ручную выборку на питоне пиши!



Последнее исправление: CYB3R (всего исправлений: 1)

Мне нужно при помощи vim и регулярных выражений найти в тексте первый дефис и заменить его.

:%s/-// в любой строке, :s/-// в текущей или я что-то не так понял?

x3al ★★★★★
()

В перловых выражениях присутствует выражение (?=blablalba), но в vim такое не проходит

В виме нужно эскейпить скобки.`

x3al ★★★★★
()

vim так умеет, но там не перловый синтаксис. Щас с оффтопака пишу, поэтому не подскажу, но сам об этом читал в :help

Belkrr
()
Ответ на: комментарий от Serbis

%s/\(\d\{2,8\}\)-\([А-ЯA-Z].\)/\1x\2/

Примерно так?

/g нужно если менять все совпадения, а не первое.

x3al ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.