Notepad++: reemplace el décimo carácter si el cuarto al octavo carácter contiene "B490" en un archivo de texto

Notepad++: reemplace el décimo carácter si el cuarto al octavo carácter contiene "B490" en un archivo de texto

Necesito buscar "FE45" entre las posiciones 10-31 y luego reemplazar el carácter entre 3.º y 6.º por zzzz.

Archivo de ejemplo:

123AAA345FE45D
234BBB335DDFFFEEDFE45E
345CCC234ERFDF3FR06G

Mi deseo :-)

123000345FE45D
234000335DDFFFEEDFE45E
345000234ERFDF3FR06G

¿Cómo puedo modificar esta expresión para obtener los resultados anteriores?

¡Gracias de antemano!

Respuesta1

Úselo ()para crear grupos a los que luego pueda hacer referencia por su orden de aparición.

Encontrar:

(b490)(.{2})(.{5})

Reemplazar:

\1\2ZZZZZ

Respuesta2

  • Ctrl+H
  • Encontrar que:^...\K...(?=.{0,27}FE45)
  • Reemplazar con:000
  • comprobar caso de coincidencia
  • comprobar Envolver alrededor
  • comprobar expresión regular
  • NO VERIFICAR. matches newline
  • Replace all

Explicación:

^           : 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 el ejemplo dado:

123000345FE45D
234000335DDFFFEEDFE45E
345CCC234ERFDF3FR06G

información relacionada