2016-07-07 3 views
0

Дана строка:Powershell Regex совпадает в строке

$assemblyVersion = '[assembly: AssemblyFileVersion("8.0.0.866")]' 

У меня есть регулярное выражение, которое будет найти номера сборки:

(\d+\.)(\d+\.)(\d+\.)(\*|\d+) 

Эти линии подтверждает, что нашел матч:

$extractedVersion = $assemblyVersion -match "(\d+\.)(\d+\.)(\d+\.)(\*|\d+)"; 

Как вы можете извлечь совпадение из исходной строки $assemblyVersion?

Чтение this article я не совсем понимаю, как вы это делаете ...

Я пробовал:

$assemblyVersion 

$extractedVersion = $assemblyVersion -match "?<assembly>(\d+\.)(\d+\.)(\d+\.)(\*|\d+)"; 

Write-Host "Extracted " $extractedVersion["assembly"] 

не работает.

Мое регулярное выражение может и не быть оптимальным.

Это StackOverflow answer не помогает

+0

Я уже сказал, что вопрос, который вы ссылались, не отвечает на мой вопрос ... Это не ответ. Я отправил ответ ... –

ответ

0

Я получил его:

$assemblyVersion = '[assembly: AssemblyFileVersion("8.0.0.866")]' 

$assemblyVersion -match "(\d+\.)(\d+\.)(\d+\.)(\*|\d+)"; 

Write-Host "Extracted " $matches[0]