Powershell从长度未知的字符串中提取文本

时间:2013-05-02 11:13:00

标签: regex powershell powershell-v2.0

我认为我不能使用标准cmdlet。我有以下字符串      备份工作INDETERMINABLE STRING HERE成功完成

我需要在这里提取INDETERMINABLE STRING,这可以是任何长度和任意数量的单词。左侧的文本将始终为“备份作业”,右侧的文本将成功完成或失败并显示错误。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

在这里,您可以使用$ matches automatic variable

$regEx = "Backup Job (.*)(completed successfully|failed with errors)"
$good  = "Backup Job INDETERMINABLE STRING HERE completed successfully"
$bad   = "Backup Job INDETERMINABLE STRING HERE failed with errors"

if ($good -match $regEx)
{
    $matches[1]
}
if ($bad -match $regEx)
{
    $matches[1]
}