Использование Regex в Powershell для захвата электронной почты

Я написал скрипт для захвата различных полей в файле HTML и заполнения переменных результатами. У меня проблемы с регулярным выражением для получения электронной почты. Вот пример кода:

$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"
}

Я получаю следующую ошибку:

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

Что мне здесь не хватает? Кроме того, есть ли лучшее регулярное выражение для электронной почты?

Заранее спасибо.

Ответы на вопрос(2)

Ваш ответ на вопрос