Zunächst einmal, wenn es sich um XML handelt, extrahieren Sie die Gerätebeschreibung als Zeichenfolge und suchen Sie dann nach der gewünschten Zeichenfolge, in diesem Fall "grün".
$x = [xml] (gc .\test.xml)
$x.deviceDescription -match "green"
Wenn Sie nicht auf diese Weise vorgehen möchten, müssen Sie die ?s
- Singleline- oder Dotall-Flag verwenden, das bedeutet, dass * Zeilenumbrüche übereinstimmt:
$x = [IO.File]::ReadAllText("C:\test.xml")
$x -match "(?s).*green.*"
Beachten Sie, dass Sie wahrscheinlich .*?
verwenden möchten, da sich dies über mehrere deviceDescription-Tags erstrecken könnte. Randfälle wie dieser sind Gründe, warum Sie Regex für solche Dinge vermeiden sollten.