解释

解释

我尝试去寻找它并进行实验,但却无法找到答案。

在 notepad++ 中我有一行如下内容:

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 :仅仅是因为我们不希望任何内容回到我们正在删除的行中。

希望这是您所寻找的,如果不是,请为您指明正确的方向。

相关内容