我需要帮助编写一个正则表达式,我想在电子邮件地址的开头和结尾删除不需要的字符。例如:
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
如果电子邮件地址已经正确,则不应用正则表达式。
答案 0 :(得分:3)
答案 1 :(得分:0)
查找^[^>]*>([^<]*)<*.*$
并将其替换为\1
答案 2 :(得分:0)
尝试在您不想要的角色之间的任何内容上使用捕获组。例如,
/>([\w|\d]+@[\w\d]+.\w+)</
基本上,regexp inside()匹配的任何部分都保存在捕获组中。这个匹配任何内部&gt; here&lt;以一堆字符或数字开头,有一个@,有一个或多个字或数字字符,然后是句点,然后是一些单词字符。应该匹配任何有效的电子邮件地址。
如果您需要除&gt;之外的字符&lt;要匹配,请创建字符类。这就是那些方形括号位。如果你替换&gt;使用[.,></?;:'"]
,它会匹配任何这些字符。
Demo(查看匹配组)
答案 3 :(得分:0)
我认为你可能会略微忽略正则表达式的观点。正则表达式定义字符串的“形状”,并返回字符串是否符合该形状。电子邮件地址的简单表达式可能类似于: [A-Z] [A-Z] [0-9] *。?[A-Z] [A-Z] [0-9] + @ [A-Z] [A-Z] [0-9] * [A-Z] +
但是为电子邮件地址编写一个catch-all正则表达式并不简单。真的,你需要做的就是正确检查:
确保只有一个'@' - 符号。
检查at符号前面的部分是否符合此部分的正则表达式: