我正在尝试在Bash中使用正则表达式匹配一些电子邮件地址。
目前已经得到了以下表达式:
我知道的是这应该与"To: bob@bob.co.uk"相匹配,但实际上并没有匹配成功:( 有什么建议吗?
代码示例
"^[a-zA-Z0-9!#\$%&'\*\+/=?^_\`{|}~-]+(\.[a-zA-Z0-9!#\$%&'\*\+/=?^_\`{|}~-]+)*@([a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?\$"
这段代码可以成功匹配我需要的所有电子邮件,但是当我尝试添加"To: "字段时,似乎无法得到任何匹配项,我不确定为什么。
"^To:\s[a-zA-Z0-9!#\$%&'\*\+/=?^_\`{|}~-]+(\.[a-zA-Z0-9!#\$%&'\*\+/=?^_\`{|}~-]+)*@([a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?\$"
我知道的是这应该与"To: bob@bob.co.uk"相匹配,但实际上并没有匹配成功:( 有什么建议吗?
代码示例
Reply-To: "service@paypal.com" <service@paypal.com>
To: bob@bob.co.uk
Date: Mon, 21 Jun 2012 21:34:10 -0300
用于搜索文件并添加到数组中的代码
regex="^[a-zA-Z0-9!#\$%&'\*\+/=?^_\`{|}~-]+(\.[a-zA-Z0-9!#\$%&'\*\+/=?^_\`{|}~-]+)*@([a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?\$"
for i in $(cat mailbox.mbx); do
if [[ $i =~ $regex ]]; then
echo $i
sortarray[$index]=$i
index=$(($index+1))
fi
done