正则表达式和powershell:为特定的guid解析长字符串

时间:2018-03-27 18:00:53

标签: .net regex powershell

我有一个2000行字符串,我需要解析它。字符串的最大部分是路径(C:\ etc),我不在乎。我只需要从 * WRITER" Microsoft Hyper-V VSS Writer" 两件事情中获得:

1)作家身份证= {66841cd4-6ded-4f4b-8f17-fd23f8ddc3de}

2)对于特定编写器(Microsoft Hyper-V VSS Writer)中的每个组件,我需要名称,这也是一个guid。例如,第一个组件是: - 名称:02E98059-C043-421D-96BD-C19B193E2961

我的尝试是:

ContactRepository

因为要解析的字符串很长,所以我创建了一个正则表达式101,这里是链接:https://regex101.com/r/UzfR1f/1

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

我认为更容易将其转储到文件中。然后:

$getNext = $false
$fileContents = Get-Content File.txt
foreach($line in $fileContents){
    if($getNext){
        $line
        $getNext = $false
    }
    if($line -like '*"Microsoft Hyper-V VSS Writer*'){
        $getNext = $true
    }
}

您可能需要解析实际的guid,但我输出整行,以便您可以看到哪一个。