Perl / regex删除字符串的前3行和后3行

前端之家收集整理的这篇文章主要介绍了Perl / regex删除字符串的前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//;

猜你在找的Perl相关文章