各種數字組的正規表示式模式

各種數字組的正規表示式模式

我正在解析代碼列表,它們具有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

螢幕截圖(之前):

在此輸入影像描述

螢幕截圖(之後):

在此輸入影像描述

相關內容