如何在BBEdit中通过Grep替换删除首行以外的所有内容?
在BBEdit中用Grep仅保留第一行的解决方案
嘿,我之前在BBEdit里处理过完全一样的需求,这就给你说个简单的Grep替换方案,几步就能搞定:
- 打开BBEdit的查找替换窗口,快捷键是
Cmd + F,然后勾选窗口里的「Grep」选项,切换到正则匹配模式。 - 在「查找」输入框里填入下面的正则表达式:
(?s)^Line 1\K.* - 「替换为」输入框留空,然后点击「全部替换」,就能只保留
Line 1,后面的所有内容都会被清空。
简单解释下这个正则的作用:
(?s):开启单行模式,让.可以匹配换行符,这样就能覆盖Line1之后的所有行内容^Line 1:精准匹配开头的第一行内容「Line 1」\K:这个是关键,它会重置匹配的起点,意思是前面匹配到的「Line 1」不会被包含在替换范围内.*:匹配从\K之后的所有内容,也就是Line1后面的所有文本(包括换行)
如果你的第一行内容可能有细微差异(比如空格不同),可以调整正则来适配,但针对你给出的需求,上面的表达式完全够用啦。
内容的提问来源于stack exchange,提问作者Dave Friedman




