шаблон регулярного выражения для различных числовых групп

шаблон регулярного выражения для различных числовых групп

Я анализирую список кодовых чисел, у них есть шаблон 12345.1211. Они spaceразделены. Иногда они будут иметь пробел, за которым следуют один - три шаблона сложения чисел, например: 1221.121 11 111.111111 874.95 1211

У меня есть регулярное выражение: [0-9]+\.[0-9]+**

Он находит прореженное число, например 12345.1211. Я инкапсулирую регулярное выражение с помощью (& )и использую \1\nдля разрыва каждого кода новую строку.

Я использую Notepad++ с поиском и заменой. Но регулярное выражение не справляется с числами, включенными в пробелы. Дополнительные числа оказываются на той же строке, что и следующий шаблон.

Пример:

1221.121 11 111.111111  874.95 1211 456.155

Я получил:

1221.121
11 111.111111
874.95
1211 456.155

Могу ли я что-нибудь сделать, чтобы по желанию включить дополнительные цифры, разделенные пробелом?

решение1

На ваших тестовых данных это регулярное выражение идеально соответствует всем числам;

[0-9]+[.]?[0-9]+

решение2

  • Ctrl+H
  • Найти то, что:\b\d+(?:\.\d+)?\K\h+
  • Заменить на: \n        или \r\nдля переноса строки в Windows
  • проверить Обернуть вокруг
  • проверить Регулярное выражение
  • Replace all

Объяснение:

\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

Снимок экрана (до):

введите описание изображения здесь

Снимок экрана (после):

введите описание изображения здесь

Связанный контент