我试图只删除文本文件的前两行。
我尝试使用\A.*
,但这会获得第一行并删除其余部分。
有没有办法做反向?
答案 0 :(得分:1)
这可能不是最方便的方式,但可以使用Regex:
^.*\n.*\n([\s\S]*)$
使用默认设置(既不是单行也不是多行修饰符)'。'捕获除了换行符之外的所有内容。因此,.*\n
捕获一行,包括新行字符。重复两次,我们在第三行的开头。现在捕获所有字符,包括新行字符([\s\S]
是此行为的一个很好的解决方法),直到文件$
结束。
然后由第一个捕获组替换
\1
除了前两行之外你还有其他所有东西。
详细信息取决于你的正则表达式引擎,你如何给出替代字符串。根据平台或文件中使用的新行字符,您可能需要将\n
与\r\n
或\r
或与其匹配的(\r\n?|\n)
进行交换
这是一个有效的Demo。
答案 1 :(得分:0)
具体说明新行和非新行号并将匹配替换为空白:
\A([^\r\n]*\n){2}
注意:这对行结束样式很敏感。将窗口的最后\n
更改为(\r\n)
。
参见演示。