1

这是删除剪贴板中不以字母“a”开头的任何行的表达式:

Clipboard := RegExReplace(Clipboard, "m)^[^a].+?`r`n", "")

为什么它会删除以下列表中的空白行狐狸”行?

一个快速
的棕色

一只狐狸
跳了起来

我的其他正则表达式应用程序只删除空行,但不删除"a fox"。我将如何编写表达式以保留“狐狸”行?

谢谢。

4

1 回答 1

0

因为空行包含字符,所以模式^[^a]匹配并使用换行符,换行符是行首之后的下一个字符,如果模式匹配到下一个换行符,则其余的字符会消耗下一个整行。

事实上,您的模式会删除空行之后的任何行,无论它是否以“a”开头。

尝试允许行尾或不允许“a”,如下所示:

Clipboard := RegExReplace(Clipboard, "(?m)^($|[^a].+?)`r`n", "")
于 2013-10-19T00:00:47.367 回答