在正则表达式捕获组中进行基本数学运算

时间:2017-12-21 20:55:05

标签: json regex powershell

我在一个目录中有“几个”(百)个json文件,它在任意树结构中包含大量不同类型的json对象。许多(但不是全部)对象具有绝对画布位置,如下所示:

"position":{"x":880.8230590820313,"y":437.6084899902344,"z":0.0}

现在我想循环遍历所有这些文件并将所有对象中的“y”位置增加一个固定的数量,比如24。

为了让我的生活变得轻松而不必遍历树形结构,我想像这样使用powershell regexp:

$content = Get-Content -path "SimpleSample.json" // TODO: Loop through directory
$content -Replace '"position":\{"x":([\d.]*),"y":(\d*).', '"position":\{"x":$1,"y":($2+24).' | Out-File -Encoding "UTF8" "SimpleSampleOut.json"

结果甚至“差不多”我想要的东西:

"position":\{"x":880.8230590820313,"y":(437+24).6084899902344,"z":0.0}

当然要获得有效的JSON,我需要在结果文件中计算结果,而不是计算结果。我怎样才能做到这一点?

0 个答案:

没有答案