Notepad++ 每隔一段时间删除行(例如使用 Skip and Take)

Notepad++ delete lines at an interval (e.g. with Skip and Take)

我想保留第一个 minQty、maxQty、stepSize,但删除第二个 minQty、maxQty、stepSize。 C# 中的一个可能解决方案是采用 5 行然后跳过 3 行。 Notepad++里有这样的东西吗

通常我会通过为包含特定字符串的行添加书签然后像这样删除未添加书签的行来解决这个问题 ()。但这在这里行不通,因为字符串是相同的。

"symbol": "ETHBTC",
                "filterType": "LOT_SIZE",
                "minQty": "0.00100000",
                "maxQty": "100000.00000000",
                "stepSize": "0.00100000"
                "minQty": "0.00000000",
                "maxQty": "9201.00570633",
                "stepSize": "0.00000000"
"symbol": "LTCBTC",
                "filterType": "LOT_SIZE",
                "minQty": "0.01000000",
                "maxQty": "100000.00000000",
                "stepSize": "0.01000000"
                "minQty": "0.00000000",
                "maxQty": "33144.83294363",
                "stepSize": "0.00000000"

有人有想法吗?谢谢!

您可以捕获要保留的组中的行,从 filterType 和接下来的 3 行开始。然后匹配您要删除的后面的 3 行。

在替换中使用第一个捕获组</code></p> <pre><code>("filterType":\h+"LOT_SIZE",(?:\R\h+"[^"]+":\h+"[^"]+",?){3})(?:\R\h+"[^"]+":\h+"[^"]+",?){3}

Regex demo

试试这个...

查找内容:filter((.*\n){4})[\s\S]*?step.*\s?
替换为:</code></p> <p>或者这个,两者都对我有用...</p> <p>查找内容:<code>filter[\s\S]*?step.*\K[\s\S]*?step.*?"
替换为:nothing