Я пытаюсь создать регулярное выражение, которое заменяет все символы, которые не входят в шаблон поиска.Заменить неподходящие символы regex
p.e.
Входной
whatever text text and more text
test 2 12000 text and more text
text and text
text 3 text more text
1-2000 and more text
шаблон поиска:
let @/ = '^test \zs2 \d\d\d\d\d\s.*\n\(.*\n\)\{-}text 3\ze'
(соответствие с непосредственно перед '2' до только после того, как '3')
Я хочу, чтобы заменить все другие символы за пределами совпадение с символом _
.
ожидается выход
________________________________
_____2 text and more text
text and text
text 3_______________
_____________
Я использую это регулярное выражение, которое отлично работает, но не работает, если есть несколько строк в шаблоне поиска:
exe "%s/\\(@/\\)\\zs\\|./\\=submatch(1)!=''?'':'_'/g"
Как я могу сделать его работу также с несколько строк в шаблоне поиска?
голосование за адаптацию и ссылку на мое решение –