谁能帮我用正则表达式将返回的电子邮件地址的端部,@符号后? 我是新来的正则表达式,但想学习如何使用它,而不是写低效净字符串函数!
例如用于“test@example.com”输入我需要“example.com”的输出。
干杯! 蒂姆
谁能帮我用正则表达式将返回的电子邮件地址的端部,@符号后? 我是新来的正则表达式,但想学习如何使用它,而不是写低效净字符串函数!
例如用于“test@example.com”输入我需要“example.com”的输出。
干杯! 蒂姆
正则表达式是相当重的机器用于这一目的。 刚拆分包含在电子邮件地址字符串@
字符,然后在第二个一半。 (电子邮件地址是保证只包含一个@
字符)。
@(。*)$
这将匹配与@,然后捕捉一切,直到输入的结尾($)
这是一个通用的电子邮件匹配:
[a-zA-Z][\w\.-]*[a-zA-Z0-9]@([a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z])
请注意,它仅捕获域组; 如果您使用以下,您可以捕获部分诉讼中@
也:
([a-zA-Z][\w\.-]*[a-zA-Z0-9])@([a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z])
我不知道这是否符合RFC 2822,但我对此表示怀疑。
哇,这里所有的答案都不太对劲。
一个电子邮件地址,可以有很多的“@”只要你想,最后一个不一定域之前的一个:(
例如,这是一个有效的电子邮件地址:
user@example.com(i'm a comment (with an @))
你必须要非常想要让您的电子邮件地址,但。
因此,首先,解析出末任何评论。
然后
int atIndex = emailAddress.LastIndexOf("@");
String domainPart = emailAddress.Substring(atIndex + 1);
你输入一个简单的正则表达式是:
^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$
但是,当你申请了广泛和异构域也可以是无用的。
一个例子是:
^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.(?:[A-Z]{2}|com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum)$
但是,你可以根据需要优化该后缀域名。
但是,对于你的后缀需要,你只需要:
@ + $
资源: http://www.regular-expressions.info/email.html
$input=hardiksondagar@gmail.com;
// now you want to fetch gmail from input user PHP's inbuilt function
preg_match('/@(.*)/', $input, $output);
echo $output[1]; // it'll print "gmail.com"
试试这个正则表达式:
(?<=([\w-\.]@))((?:[\w]+\.)+)([a-zA-Z]{2,4})
(@)(\w+\-|\w+)+(\.)
我不是专家,但上面的表达式是你需要从电子邮件抢域,至少据我可以告诉。
问题是为指出,你抢不只是域名,但“@”和“”。 要在正则表达式访问的域名使用“$ 2”,并保留“@”和,你可以使用这样的表达“”:
$1newdomain$3
http://www.regexr.com/
上面的网站是尝试正则表达式来看看它是如何,如果工作的好地方。