[英]Regular expression to correct email address
在编写一个正则表达式时,我需要帮助,我想在其中删除电子邮件地址开头和结尾的多余字符。 例如:
z>user1@hotmail.com<kt
z>user2@hotmail.pk<kt
z>puser3@yahoo.com<kt
z>npuser4@yaoo.uk<kt
应用正则表达式后,我的电子邮件应如下所示:
user1@hotmail.com
user2@hotmail.pk
puser3@yahoo.com
npuser4@yaoo.uk
如果电子邮件地址已经正确,则不应应用正则表达式。
尝试对不需要的字符之间的任何内容使用捕获组。 例如,
/>([\w|\d]+@[\w\d]+.\w+)</
基本上,将()中的regexp匹配的任何部分保存在捕获组中。 这个匹配所有> here <里面的东西,以一串字符或数字开头,有一个@,有一个或多个单词或数字字符,然后是句点,然后是一些单词字符。 应该与任何有效的电子邮件地址匹配。
如果您需要除> <之外的其他字符进行匹配,请创建一个字符类 。 那就是那些方括号中的位。 如果将>替换为[.,></?;:'"]
它将匹配所有这些字符。
演示 (查看比赛组)
我认为您可能会略微忽略正则表达式的要点。 正则表达式定义字符串的“形状”,并返回字符串是否符合该形状。 电子邮件地址的简单表达可能类似于:[az] [AZ] [0-9] *。?[az] [AZ] [0-9] + @ [az] [AZ] [0-9] *。[az] +
但是为电子邮件地址编写一个包含所有内容的正则表达式并不简单。 确实,要正确检查它,您需要做的是:
确保只有一个“ @”符号。
检查at符号前的部分是否符合该部分的正则表达式:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.