regex 如何删除两个2行之间的所有内容(34到51)?

ccgok5k5  于 2023-03-09  发布在  其他
关注(0)|答案(2)|浏览(121)

我有很多文档,我需要删除从这到第34行到第51行之间的所有内容
文档没有任何形式使用

"Here is the beginning of the line 34" random text
Random text
Random text
Random text
Random text
Random text
    .
    .
    .
    .
"Here is the beginning of the line 51" more random text

(the代码没有文本“第34行或第51行”)如何做到这一点?
我目前尝试使用一些正则表达式在记事本++中使用,但我现在不知道如何指示转到“x”行并删除“y”行之前的所有内容

0s0u357o

0s0u357o1#

尝试((?:.*?[\n]){33})((?:.*?[\n]){18})(.*)
Demo
并替换为$1$3

hi3rlvi2

hi3rlvi22#

比如:

(?:.*\r?\n){33}\K(?:.*\r?\n?){17}

并替换为空字符串。
34 - 1 = 33
51 - 34 = 17
将光标放在文件的开头,并仅应用一次。(同时取消选中 * 点匹配EOL * 复选框)
如果你认为把光标放在文件的开头太烦人,选中 * loop * 复选框并使用这个模式(测试文件的开头):

(?<![\s\S])(?:.*\r?\n){33}\K(?:.*\r?\n?){17}

相同的替代品。

相关问题