首页 > 解决方案 > 使用记事本++和正则表达式从数组中删除两个元素

问题描述

我有一个字符串列表,看起来像

[47,19,148,42,50]
[52,16,135,34,57],[54,16,140,36,59]
[54,16,140,32,57],[56,16,145,34,59]
...

我需要从每个数组中删除最后两个元素看起来像

[47,19,148]
[52,16,135],[54,16,140]
[54,16,140],[56,16,145]
...

如何在 Notepad++ 和正则表达式中实现这一点?

标签: regexnotepad++

解决方案


您可以使用此正则表达式:

(,\d+){2}(?=\])

它会查找 2 批,后跟一些数字,两个组后跟 a ](使用肯定的前瞻断言,因此不会被捕获)。然后,您可以将其替换为空字符串。如果数据中可能有空格,您可以通过根据需要添加来使正则表达式与它们一起\s*使用:

(,\s*\d+\s*){2}(?=\])

regex101.com 上的演示


推荐阅读