我正在寻找构建一个正则表达式语句,以始终删除前3
字符串的行,以及字符串的最后3行(中间部分
可以是任意数量的行内容).任何干净的正则表达方式来实现
这个输出? (即总是剥离我们的前3行和最后3行
字符串 – 并保留中间部分,可以是变量#
线)
字符串的行,以及字符串的最后3行(中间部分
可以是任意数量的行内容).任何干净的正则表达方式来实现
这个输出? (即总是剥离我们的前3行和最后3行
字符串 – 并保留中间部分,可以是变量#
线)
谢谢.
例如
输入字符串:
" 1 2 3 <1...n # of lines content> 4 5 6 "
到期望的输出字符串:
"<1..n # of lines content>"
解决方法
以前给出的解决方案非常复杂!所有人都需要
s/^(?:.*\n){1,3}//; s/(?:.*\n){1,3}\z//;
如果你想在最后接受缺少尾随换行符,你可以使用
s/\n?\z/\n/; s/^(?:.*\n){1,3}\z//;
要么
s/^(?:.*\n){1,3}//; s/(?:.*\n){0,2}.*\n?\z//;