Я не могу найти, как решить это:
Я пытаюсь найти шаблон p.e. 'test
' с помощью фигурных скобок
p.e. test\{2,}
Я хочу добавить или удалить один и тот же шаблон с помощью диалогового окна ввода.
т.е.
найти слово test
{2,} раз и удалить 1 тест из совпадения
или найти слово test
{2,3} раз и удалить 2 x тест из совпадения
или найти слово test
{, 2} раза и добавить 2 х теста, чтобы соответствовать
Я не могу найти регулярное выражение, которое бы делало то, что мне нужно.
Кто-нибудь знает решение?
РЕДАКТИРОВАНИЕ
Возможно, разделение строки подсовпадения в списке является решением и подсчитывает количество совпадений (длину списка).
p.e. поиск test\{2,5}
и удаление 2 x test:
%s/\(test\)\@<!\(test\)\{2,5}\(test\)\@!/\=repeat(submatch(2), len(split(submatch(2), 'test'))-2)/g
но это не работает. Что я сделал не так?
(test){2}
(и т. д.), чтобы сопоставить вхождения всего слова. Поскольку круглые скобки окружают только одно слово, вы можете использовать\1
(или его местный эквивалент) в выражениях замены. - person Jongware   schedule 02.08.2013