
Preciso pesquisar “FE45” entre as posições 10-31 e, em seguida, substituir o caractere entre 3 e 6 por zzzz.
Arquivo de exemplo:
123AAA345FE45D
234BBB335DDFFFEEDFE45E
345CCC234ERFDF3FR06G
Meu desejo :-)
123000345FE45D
234000335DDFFFEEDFE45E
345000234ERFDF3FR06G
Como posso modificar esta expressão para obter os resultados acima?
Desde já, obrigado!
Responder1
Use ()
para criar grupos que você pode referenciar pela ordem de aparecimento
Encontrar:
(b490)(.{2})(.{5})
Substituir:
\1\2ZZZZZ
Responder2
- Ctrl+H
- Encontre o que:
^...\K...(?=.{0,27}FE45)
- Substituir com:
000
- verifique Caso de correspondência
- confira Envolver
- verifique expressão regular
- NÃO VERIFIQUE
. matches newline
- Replace all
Explicação:
^ : beginning of line
... : 3 any character but newline
\K : forget what we have seen until this position
... : 3 any character but newline
(?= : lookahead, zero length assertion, make sure we have after this position
.{0,27} : 0 up to 27 any character but newline
FE45 : literally FE45
) : end lookahead
Resultado para determinado exemplo:
123000345FE45D
234000335DDFFFEEDFE45E
345CCC234ERFDF3FR06G