Powershell替换为查找变量

时间:2011-12-06 20:48:09

标签: function powershell replace

我在powershell中使用-replace和[RegEx] :: replace尝试了这个。同样的问题。我想使用捕获组中的值来从查找字符串中的替换中检索其值。

假设t是一个有效的键/值哈希表,其中一个键是'gif'。

[RegEx]::Replace($_, "((/aaa)?/bbb[^']+).(jpg|png|bmp|gif)", "--`$1--`$2--`$3--$($t.Item('`$3'))++++`$1-UUUUU.`$3")

毋庸置疑,我一直未能成功地将哈希查找用于此替换。

1 个答案:

答案 0 :(得分:3)

如果我理解正确,您可以像这样使用MatchEvaluator:

$evaluator ={
$t = @{ "jpg"="This is a jpeg image";
        "gif"="This is a gif image"}
$group1 = $args[0].groups[1]
$t["$group1"]
}

[RegEx]::Replace("test.gif","^.*\.(jpg|gif)", $evaluator,[Text.RegularExpressions.RegexOptions]::none)