Замена Powershell переменной поиска - PullRequest
1 голос
/ 07 декабря 2011

Я пробовал это в powershell с -replace и с [RegEx] :: replace.та же проблема.Я хочу использовать значение в группе захвата для извлечения его значения из поиска, выполняющего замену строки.

в предположении, что t является допустимой хеш-таблицей ключ / значение, где один ключ равен «gif».

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

Излишне говорить, что мне не удалось заставить поиск по хешу работать в этой замене.

1 Ответ

3 голосов
/ 07 декабря 2011

Если я правильно понимаю, вы можете использовать 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...