Você tem dois problemas:
- Na string de substituição,
\d
significa "imprimir ad
" e nada mais. Todas as expressões especiais como\d
e\w
, etc. funcionam apenas no padrão de pesquisa, não na sequência de substituição. - Como o @DavidPostill disse, o Notepad ++ não pode fazer matemática na pesquisa / substituição de regexp.
Você tem três opções para fazer o que quiser:
- Use algum programa, script ou plug-in para fazer as substituições por você. Qualquer versão disso é, como diz o comentário mencionado anteriormente, off-topic aqui.
- Use o Notepad ++ para pesquisar e substituir 3 vezes.
- Redonda para um dígito,
- Round dois para dois dígitos e
- Arredondam três para três dígitos.
- Se você tiver o Notepad ++ maior que a v6.0, poderá usar a sintaxe PCRE no regexp e usar o excelente resposta por @ACR para fazer tudo de uma só vez.
Para realizar isso no método de três passagens, use as etapas a seguir. Você pode ter que modificar os padrões de pesquisa para capturar o que quiser e apenas o que deseja. Eles trabalham na amostra que você forneceu acima, mas seus arquivos podem ser mais complexos que a amostra.
Round 1
Encontre isto:
(\s+)(\d),
Substitua por:
700,
Round 2
Encontre isto:
(\s+)(\d\d),
Substitua por:
70,
Round Three
Encontre isto:
(\s+)(\d\d\d),
Substitua por:
7,
O que faz
No Find this
padrão \s+
encontra todo o espaço em branco que pode ser encontrado antes do próximo token, exigindo pelo menos um para impedir que um número seja seguido de outra coisa que não seja espaço em branco. O ()
em torno dele torna a primeira string capturada retornada pela correspondência. O \d
corresponde a um dígito e os grupos \d\d
e \d\d\d
fazem corresponder dois ou três dígitos, exatamente. Novamente, o ()
o transforma em um grupo de captura, o segundo dessa vez. Finalmente, o ,
corresponde à vírgula após os números, o que a mantém na mesma linha do arquivo de amostra.
No Replace with this
, o é substituído pelo primeiro grupo de captura (os espaços).
1700
, 170
e 17
imprimem a parte que precisa ser adicionada à linha. O é substituído pelo segundo grupo de captura, que é o (s) dígito (s) que você tem no padrão de localização. Finalmente, a vírgula
,
é explicitamente substituída, em vez de desperdiçar um grupo de captura para ela.