Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
这是删除剪贴板中不以字母“a”开头的任何行的表达式:
Clipboard := RegExReplace(Clipboard, "m)^[^a].+?`r`n", "")
为什么它会删除以下列表中的空白行和“狐狸”行?
一个快速 的棕色
一只狐狸 跳了起来
我的其他正则表达式应用程序只删除空行,但不删除"a fox"。我将如何编写表达式以保留“狐狸”行?
谢谢。
因为空行不包含字符,所以模式^[^a]匹配并使用换行符,换行符是行首之后的下一个字符,如果模式匹配到下一个换行符,则其余的字符会消耗下一个整行。
^[^a]
事实上,您的模式会删除空行之后的任何行,无论它是否以“a”开头。
尝试允许行尾或不允许“a”,如下所示:
Clipboard := RegExReplace(Clipboard, "(?m)^($|[^a].+?)`r`n", "")