Я пытаюсь проанализировать файл, содержащий блоки текста в этом формате (их может быть 1-n):
-----------------------------------------------------------
KB Article Number(s): 2028769, 2072493, 2120979, 2143880, 2163958, 2163980, 980653, 980883, 981155, 981867, 982321, 982850
Language: All (Global)
Platform: x64
Location: (http://foo.bar.com)
Password: foo
-----------------------------------------------------------
Текст приходит из электронного письма с запросом исправления MS, если кому-то интересно.
У меня есть следующий вкладыш powershell one:
$file | select-string "(?<Name>\w+):(?<Value>.*)" -allmatches | SELECT @{N="Name";E={$_.Matches[0].Groups[1].Value}}, @{N="Value";E={$_.Matches[0].Groups[2].Value}}
Это дает мне плоский набор пар имя-значение, я хотел бы, чтобы он возвращал массив хеш-таблиц с каждым из 5 заполненных ключей.
Я не уверен, является ли проблема моим регулярным выражением или как я получаю доступ к матчам (Должен быть менее подробный способ их выбора).