Notepad ++中的RegEx - 如何在重复代码块中获取特定的线段,如下所示?

时间:2014-10-18 16:17:52

标签: regex notepad++

我在文件中有很多元素,看起来都像这样:

class Item33
{
    position[]={3669.2529,10.441362,13108.502};
    name="car1";
    type="c_car";
    colorName="ColorWhite";
};

(这是一个SQM文件,虽然看起来与C ++或JS类似,但没有通用的语言)

可能有一两个或多或少的行,但这并不重要,因为我想要的是大括号中的数字,即{x,z,y}形式的坐标 - 不要问我是谁把z放在中间...

实际上,我知道 方括号 中的 x和y坐标,因此,对于此示例,我需要的输出是:

[3669.2529,13108.502]

如果有人能够管理它,我会很高兴,因为它可以节省我多余的工作量。

亲切的问候, stacky

1 个答案:

答案 0 :(得分:1)

您可以使用以下正则表达式...

Find: \bclass(?:[^{]*\{){2}([^,}]+),(?1),((?1))[^"]*("[^"]+")[^}]*\};
Replace: \3 [\1,\2]