:%s/\v(.*)(bwrb.*471,\d)(.*)/
faz o que você quer com sua amostra. Provavelmente, precisará ser alterado se as necessidades do mundo real forem mais complexas.
Basicamente, o padrão corresponde à linha inteira, mas usamos o agrupamento para separar o que queremos daquilo que não queremos. Recebemos três grupos, "antes do que queremos", "o que queremos", "depois do que queremos" e substituímos a linha inteira pelo segundo grupo, anotamos .
Passo a passo:
-
%s/
A substituição é feita no arquivo inteiro.
-
\v
O sinalizador "muito mágico" é útil para limitar o número de barras invertidas e melhorar a legibilidade.
-
(.*)
O primeiro grupo contém qualquer número de qualquer caractere. A ancoragem ao início da linha está implícita, de modo que corresponde ao que quer que seja antes do que você deseja. Seria
\(.*\)
sem a bandeira "muito mágica". -
(bwrb.*471,\d)
Este é o segundo grupo: o seu padrão. A única coisa que eu mudei foi
[0-9]
, que substituí com o equivalente, mas mais curto,\d
. -
(.*)
O terceiro grupo contém qualquer número de qualquer caractere até o final da linha.
-
/
A peça de reposição consiste apenas no segundo grupo.