2013-10-18 32 views
1

这里是删除剪贴板中的任何行不以字母“A”开头的表达式:AutoHotkey的正则表达式“错误”,涉及CRLF

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

为什么它删除空行“狐狸”行在下面的列表中?

快速
棕色

狐狸
一涨再涨

我OT她的正则表达式应用程序只删除空白行,但不是“狐狸”。我如何写出表达式来保留“狐狸”一行?

谢谢。

+0

这是帕斯卡尔/ Delpi? – Bohemian

回答

0

因为空行包含没有字符,图案^[^a]比赛和消耗换行字符,这是行的开始之后的下一个字符,其余如果该图案接着匹配到下一个新行消耗下一个整行。

事实上,您的模式会删除空行后的任意行,不管它是否以“a”开头。

尝试让两端的行或不是“一个”,像这样:

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