【发布时间】:2012-11-16 00:54:09
【问题描述】:
我已经在Regex testers 上测试了我的正则表达式并且它有效,但我没有让它在我的代码上工作。
var mail = "chdelfosse@gmail.com";
var regExp = new RegExp("@(.*?)\.");
document.write(regExp.exec(mail)) ;
我得到了这个结果:
@g,
我尝试在点之前添加一个反斜杠,结果如下:
@gmail.,gmail
我还想删除“@”和“.”从电子邮件中,所以我尝试使用“ (?:@) ”,但我没有让它工作(在正则表达式测试人员上)。
这是我第一次尝试使用 Regex,但我不明白。 为什么有逗号?
【问题讨论】:
-
@g,因为您的正则表达式匹配文字@,然后延迟匹配任何字符,在您的情况下为g,并且返回的数组有两个元素,它们是toString()'d,它使用join(),默认分隔符为,。 -
@gdoron 我想取地址邮件的域名,所以“@”和“.”之间的所有内容
-
@alex 如果我不想要逗号怎么办?
-
@Pointy 不是
.*?的意思让*量词变得懒惰? -
@alex 哦,是的,对;对于那个很抱歉。我度过了奇怪的一天 :-)
标签: javascript regex