我编写了一个脚本来抓取 HTML 文件中的不同字段并用结果填充变量。我在获取电子邮件的正则表达式方面遇到问题。这是一些示例代码:
$txt='<p class=FillText><a name="InternetMail_P3"></a>First.Last@company-name.com</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
我在这里想念什么?另外,是否有更好的电子邮件正则表达式?
提前致谢。