使用记事本++和正则表达式从数组中删除两个元素

时间:2019-02-09 03:27:16

标签: regex notepad++

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

[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 ++和正则表达式中实现此目的?

1 个答案:

答案 0 :(得分:3)

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

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

它寻找2个,,后面跟一些数字,两个组后面都跟一个](使用正向先行声明,因此不会被捕获)。然后,您可以将其替换为空字符串。如果数据中可能有空格,则可以根据需要通过添加\s*使regex起作用:

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

Demo on regex101.com