У меня есть эта строка выбора с использованием регулярного выражения, содержащего именованную группу
$m=Select-String -pattern '(?<mylabel>error \d*)' -InputObject 'Some text Error 5 some text'
Команда Select-String выполняет свою работу:
PS > $m.Matches.groups
Groups : {0, mylabel}
Success : True
Name : 0
Captures : {0}
Index : 10
Length : 7
Value : Error 5
Success : True
Name : mylabel
Captures : {mylabel}
Index : 10
Length : 7
Value : Error 5
Я могу получить значение совпадающего имениГруппировать с помощью индекса группы, нет проблем:
PS > $m.Matches.groups[1].Value
Error 5
Но я не могу получить тот же результат, используя именованную группу регулярных выражений (mylabel).Я нашел такие утверждения, как $m.Matches.groups["mylabel"].Value
, но это не работает на моих машинах (W10 / W2012, PS 5.1)