相关疑难解决方法(0)

在Powershell中使用Regex来抓取电子邮件

我编写了一个脚本来抓取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"
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

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
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?此外,是否有更好的电子邮件正则表达式?

提前致谢.

regex email powershell

4
推荐指数
1
解决办法
8181
查看次数

标签 统计

email ×1

powershell ×1

regex ×1