sim*_*ish 6 regex perl string-parsing
我正在寻找构建一个正则表达式语句,以始终删除字符串的前3行,最后3行的字符串(中间部分可以是任意n行内容).任何干净的正则表达式来实现这个输出?(即总是剥去我们的前3行和最后3行的字符串 - 并保留中间部分,这可能是变量#行)
谢谢.
例如
输入字符串:
"
1
2
3
<1...n # of lines content>
4
5
6
"
Run Code Online (Sandbox Code Playgroud)
到期望的输出字符串:
"<1..n # of lines content>"
Run Code Online (Sandbox Code Playgroud)
以前给出的解决方案非常复杂!所有人都需要
s/^(?:.*\n){1,3}//;
s/(?:.*\n){1,3}\z//;
Run Code Online (Sandbox Code Playgroud)
如果你想在最后接受缺少尾随换行符,你可以使用
s/\n?\z/\n/;
s/^(?:.*\n){1,3}//;
s/(?:.*\n){1,3}\z//;
Run Code Online (Sandbox Code Playgroud)
要么
s/^(?:.*\n){1,3}//;
s/(?:.*\n){0,2}.*\n?\z//;
Run Code Online (Sandbox Code Playgroud)
Ed *_*eal -1
for($teststring)
{
s/<.*?>//g;
$teststring =~ s%^(.*[\n\r]+){3}([.\n\r]).([\n\r]+){3}$%$2%;
print "Outputstring" . "\n" . $teststring . "\n";
}
Run Code Online (Sandbox Code Playgroud)
您需要测试它是否低于 6 行等。
| 归档时间: |
|
| 查看次数: |
11177 次 |
| 最近记录: |