2013-10-18 52 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", "")