各种数字组的正则表达式模式

各种数字组的正则表达式模式

我正在解析一个代码数字列表,它们具有 的模式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

屏幕截图(之前):

在此处输入图片描述

屏幕截图(之后):

在此处输入图片描述

相关内容