我正在尝试使用“搜索并全部替换”来删除我的200个txt文件的第一行和最后10行的正则表达式
我尝试(\s*^(\h*\S.*)){10}
删除包含的前10行空格,但效果不佳。
答案 0 :(得分:4)
在Notepad ++中,您需要匹配整个文档文本,但只需要从11到最后的捕获行。
查找:\A.*(?:\R.*){9}\R?([\s\S]*)
替换:$1
删除最后10行:
查找:^.*(?:\R.*){9}\z
替换:空
<强>详情:
\A
- 文件开头.*
- 换行符号以外的任何零个或多个字符(整个第一行)(?:\R.*){9}
- 换行符(\R
)的9个序列,然后是除换行符之外的任何0 +字符\R?
- 一个可选的换行符(如果只有10行)([\s\S]*)
- 第1组捕获文档的其余部分。第二个正则表达式:
^
- 开始行.*
- 直线换行的行本身(?:\R.*){9}
- 9行:换行符+除换行符之外的任何0 +字符\z
- 文档的结尾。 $1
是对第1组中存储的文本的反向引用。
点击20+行文档上的全部替换按钮以删除前10行的结果:
最后10行:
答案 1 :(得分:0)
使用此
进行简单的全部替换 (?m)(?:\A(?>^.*\R?){10}|(?>^.*\R?){10}\z)
扩展
(?m)
(?:
\A
(?> ^ .* \R? ){10}
| (?> ^ .* \R? ){10}
\z
)
如果它不支持\R
语法,请替换
(?>\r\n|\n|\r|\f|\x0b|\x85)
- Ascii
(?>\r\n|\n|\r|\f|\x0b|\x85|\x{2028}|\x{2029})
- Unicode