Динамическое присвоение значения переменной захваченной строке Regex

Я пытаюсь собрать простую функцию шаблонов с помощью PowerShell.

Итак, у меня есть этот текст из файла или БД

$text = "Dear [PERSON], you have been chosen for a special award my the Management of [COMPANY]"
$PERSON = 'Ahmadu Samuel'
$COMPANY = 'SuperGlobal Limited'

Я пытаюсь использовать вторую скобку захвата (которая извлекает «PERSON»), затем Get-Variable для получения значения переменной $PERSON, например:

$content = $txt -replace '([\{\[](\w+)[\}\]])', (gv '$2').value

Теперь (gv 'PERSON').Value правильно производит Ahmadu Samuel. Но с вышеизложенным я получаю такую ​​​​ошибку:

gv : Cannot find a variable with the name '$2'

Разве (gv '$2').Value не должен поступить так же? Если нет, как я могу манипулировать этим выражением, чтобы динамически присваивать значение переменной этой захваченной строке?


person Ifedi Okonkwo    schedule 19.01.2016    source источник
comment
Спасибо @PetSerAl. Ваш комментарий здесь действительно работал. Но я должен признаться, что если бы мне пришлось полагаться только на другую страницу, мне было бы гораздо труднее прийти к этому конкретному решению. (т.е. есть существенная разница в сценариях) Итак, вы все еще считаете, что этот вопрос следует закрыть? Или лучше оставить свой комментарий в качестве ответа?   -  person Ifedi Okonkwo    schedule 19.01.2016
comment
Я вряд ли могу что-то ответить на этот вопрос, что может помочь будущим читателям больше, чем ответ на указанный вопрос. Итак, я не собираюсь помещать свой комментарий в качестве ответа.   -  person user4003407    schedule 19.01.2016