这是当前的脚本:
$VPLEX = plink 192.168.1.235 -l service -pw Mi@Dim7T ./health
$regex = '(?ms)Clusters:(.+?)Meta Data:'
$VPLEX = $VPLEX -join "`r`n"
$VPLEX_Clusters = [regex]::Matches($VPLEX,$regex) | foreach {$_.groups[1].value}
这成功捕获了“Clusters:”和“Meta Data:”
之间的所有内容这是输出的一部分(我想要捕捉的部分突出显示)
除非有时输出更改且“元数据:”不再存在,否则此操作非常有效。我希望能够捕捉到第一个空白行,或者我突出显示可能只有1个空格的第一行,而不是别的。
我尝试使用以下内容捕获到换行符,但它不起作用。
$regex = '(?ms)Clusters:(.+?) \n'
任何帮助都会很棒,这可能比我想象的要简单。
答案 0 :(得分:2)
我认为这应该有效:
$regex = '(?ms)Clusters:(.+?)\r\n\s*\r\n'
答案 1 :(得分:0)
你可以尝试检测双线的第一个实例(记得排除“Cluster”和“Cluster Name”之间的第一个实例),如:
$regex = '(?ms)(Clusters:.+?Cluster.+?)[\n\r]{2,}\s*[\n\r]'