
我正在解析代碼列表,它們具有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
螢幕截圖(之前):
螢幕截圖(之後):