patrón de expresiones regulares para varios grupos de números

patrón de expresiones regulares para varios grupos de números

Estoy analizando una lista de números de código, tienen un patrón de 12345.1211. Están spacedelimitados. 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.1211como . Encapsulo la expresión regular con (& )y la uso \1\npara 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\npara 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):

ingrese la descripción de la imagen aquí

Captura de pantalla (después):

ingrese la descripción de la imagen aquí

información relacionada