解釋

解釋

我試圖尋找它並進行實驗,但我無法弄清楚。

在記事本++中我有這樣一行:

102.

或者

12

我想刪除整行(所以我猜我需要\n\r)和所有這些類型的行,我該怎麼做? (我不知道它是一位小數、兩位小數還是三位小數,也不知道後面是否有一個點)。

答案1

我不是 100% 清楚您的要求是什麼(即要刪除的行的可能內容是什麼),但我做了一個正則表達式,假設該行以 1 到 3 個數字開頭,後跟一個可選的句號,且一行中沒有任何其他內容(開頭或結尾)。

找什麼 :^\d{1,3}\.?\r?\n?

替換為:(空白)

在以下資料集上進行測試

102.
102
12
12
1.
1
9999
ab21.
8442.

留下了

9999
ab21.
8442.

解釋

^是一個特殊字符,僅匹配行的開頭。這只是為了確保圖案不僅僅位於較長線條的末端。

\d用於匹配任何數值(即0-9)。

{1,3}用於修改前一個語句(在本例中為\d),並用於指定您希望該語句匹配的最小和最大次數。因此,這一行表示您要配對 1 到 3 次(含)之間的數字。

\.用於匹配點字元。.是正規表示式中的特殊字符,用於匹配任何字元(預設情況下除換行符外,儘管 Notepad++ 中有一個選項可以更改此行為)。因此,我們需要用反斜線對其進行轉義,以確保它被視為.“字元”而不是.“匹配模​​式”。

?用於修改最後一條語句,與 類似{1,3},但這次用於表示前面的語句 ( [.]) 是可選的(技術上說是在 0 到 1 次之間匹配,但最終結果是相同的)。

\r?\n?正如您已經提到的,用於匹配新行。如果沒有這個,正規表示式也可以工作,但它不會刪除該行,只會清除它(留下一個空白行)。透過將\r和設為\n可選,這將可以在 Windows、Linux 和 Mac 上移植。

最後,我們將該欄位留空的原因Replace with :只是因為我們不希望任何內容返回到我們要刪除的行中。

希望這就是您正在尋找的東西,如果不是,它會為您指明正確的方向。

相關內容