
Я анализирую список кодовых чисел, у них есть шаблон 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
Снимок экрана (до):
Снимок экрана (после):