【发布时间】:2011-03-21 03:14:59
【问题描述】:
我在 Perl 中有以下问题。我有一个文件,我在其中获取电子邮件列表作为输入。
我想解析所有电子邮件地址的“@”之前的字符串。 (稍后我会将@之前的所有字符串存储在一个数组中)
例如。在:abcdefgh@gmail.com,我想解析电子邮件地址并提取 abcdefgh。
我的意图是只获取'@'之前的字符串。现在的问题是如何使用正则表达式检查它。或者还有其他使用 substr 的方法吗?
虽然我在 Perl 中使用正则表达式:$mail =~ "\@",但它并没有给我结果。
另外,我如何找到字符“@”在字符串 $mail 的哪个索引中?
如果有人可以帮助我,我将不胜感激。
#!usr/bin/perl
$mail = "abcdefgh@gmail.com";
if ($mail =~ "\@" ) {
print("my name = You got it!");
}
else
{
print("my name = Try again!");
}
在上面的代码中 $mail =~ "\@" 没有给我想要的输出,但是 ($mail =~ "abc" ) 给了我想要的输出。
$mail =~ "@" 仅在给定字符串 $mail = "abcdefgh\@gmail.com"; 时才有效;
但在我的情况下,我将获得带有电子邮件地址的输入。
不带转义字符。
谢谢,
汤姆
【问题讨论】:
标签: regex perl email parsing indexing