我正在解析一个代码数字列表,它们具有 的模式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
屏幕截图(之前):
屏幕截图(之后):