Verwenden von Regex in Powershell zum Abrufen von E-Mails

Ich habe ein Skript geschrieben, um verschiedene Felder in einer HTML-Datei zu erfassen und Variablen mit den Ergebnissen zu füllen. Ich habe Probleme mit dem regulären Ausdruck zum Abrufen der E-Mail. Hier ist ein Beispielcode:

$txt='<p class=FillText><a name="InternetMail_P3"></a>[email protected]</p>'

$re='.*?'+'([\\w-+]+(?:\\.[\\w-+]+)*@(?:[\\w-]+\\.)+[a-zA-Z]{2,7})'

if ($txt -match $re)
{
    $email1=$matches[1]
    write-host "$email1"
}

Ich erhalte folgenden Fehler:

Bad argument to operator '-match': parsing ".*?([\\w-+]+(?:\\.[\\w-+]+)*@(?:[\\w-]+\\
.)+[a-zA-Z]{2,7})([\\w-+]+(?:\\.[\\w-+]+)*@(?:[\\w-]+\\.)+[a-zA-Z]{2,7})" - [x-y] range in reverse order..
At line:7 char:16
+ if ($txt -match <<<<  $re)
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : BadOperatorArgument

Was vermisse ich hier? Gibt es auch einen besseren regulären Ausdruck für E-Mails?

Danke im Voraus.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage