
Estoy analizando una lista de números de código, tienen un patrón de 12345.1211
. Están space
delimitados. A veces tendrán un espacio seguido de uno o tres patrones numéricos de suma como:
1221.121 11 111.111111 874.95 1211
Tengo una expresión regular: [0-9]+\.[0-9]+
**
Encuentra un número diezmado 12345.1211
como . Encapsulo la expresión regular con (
& )
y la uso \1\n
para dividir cada código con una nueva línea.
Estoy usando Notepad++ para buscar un reemplazo. Pero la expresión regular se queda corta con los números incluidos en el espacio. Los números adicionales terminan en la misma línea que el siguiente patrón.
Ejemplo:
1221.121 11 111.111111 874.95 1211 456.155
Obtuve:
1221.121
11 111.111111
874.95
1211 456.155
¿Hay algo que pueda hacer para incluir opcionalmente los números adicionales separados por un espacio?
Respuesta1
En los datos de su prueba, esta expresión regular coincide perfectamente con todos los números para mí;
[0-9]+[.]?[0-9]+
Respuesta2
- Ctrl+H
- Encontrar que:
\b\d+(?:\.\d+)?\K\h+
- Reemplazar con:
\n
o\r\n
para salto de línea de Windows - comprobar Envolver alrededor
- comprobar expresión regular
- Replace all
Explicación:
\b # word boundary
\d+ # 1 or more digits
(?: # start non capture group
\. # a dot
\d+ # 1 or more digits
)? # end group, optional
\K # forget all we have seen until this position
\h+ # 1 or more horizontal spaces
Captura de pantalla (antes):
Captura de pantalla (después):