Javascript 仅在browser tester上工作的正则表达式

Javascript 仅在browser tester上工作的正则表达式,javascript,regex,Javascript,Regex,我已经在上测试了我的正则表达式,它工作了,但是我没有让它在我的代码上工作 var mail = "chdelfosse@gmail.com"; var regExp = new RegExp("@(.*?)\."); document.write(regExp.exec(mail)) ; 我得到这个结果: @g, 我试着在圆点前加一个反斜杠,结果是: @gmail,gmail 我还想删除@和。从电子邮件中,所以我尝试使用?:@,但我没有让它在Regex测试仪上工作 这是我第一次尝试使用正则表达

我已经在上测试了我的正则表达式,它工作了,但是我没有让它在我的代码上工作

var mail = "chdelfosse@gmail.com";
var regExp = new RegExp("@(.*?)\.");
document.write(regExp.exec(mail)) ;
我得到这个结果:

@g,

我试着在圆点前加一个反斜杠,结果是:

@gmail,gmail

我还想删除@和。从电子邮件中,所以我尝试使用?:@,但我没有让它在Regex测试仪上工作

这是我第一次尝试使用正则表达式,但我不明白。
为什么会有逗号?

有两个不同的做法:

您需要对字符串中的反斜杠进行双转义,以便RegExp构造函数仍然保留一个反斜杠,或者切换到/regex here/语法。 如果您只需要paren中的子组,则需要引用该特定子组。 代码如下:

var mail = "chdelfosse@gmail.com";
console.log(mail.match(/@(.*?)\./)[1]);

有两件事需要做得不同:

您需要对字符串中的反斜杠进行双转义,以便RegExp构造函数仍然保留一个反斜杠,或者切换到/regex here/语法。 如果您只需要paren中的子组,则需要引用该特定子组。 代码如下:

var mail = "chdelfosse@gmail.com";
console.log(mail.match(/@(.*?)\./)[1]);

您可以使用此正则表达式获取域名:

/@(.+)\./

您可以使用此正则表达式获取域名:

/@(.+)\./
比正则表达式快:

var emailAddress = "my.email@gmail.com";
var array_email = emailAddress.split("@");​​
alert('Account: ' + array_email[0] +'; Domain: ' + array_email[1]);​​​​​​​​​​​​​​​​​​​​​​​​​​
比正则表达式快:

var emailAddress = "my.email@gmail.com";
var array_email = emailAddress.split("@");​​
alert('Account: ' + array_email[0] +'; Domain: ' + array_email[1]);​​​​​​​​​​​​​​​​​​​​​​​​​​


@g、 因为你的正则表达式匹配了literal@,然后惰性地匹配了任何字符,在你的例子g中,返回的数组有两个元素,它们是toString'd,它使用join,它有一个默认的分隔符,.@gdoron我想获取地址邮件的域名,所以@和之间的所有内容。@alex如果我不需要逗号怎么办?@Pointy不需要。*?意思是让量词变懒吗?@alex哦,是的,对了;很抱歉。我过了一个奇怪的日子:-@g,因为你的正则表达式匹配literal@,然后懒洋洋地匹配任何字符,在你的例子g中,返回的数组有两个元素,它们是toString'd,它使用join,默认分隔符是,。@gdoron我想获取地址邮件的域名,所以@和之间的所有内容。@alex如果我不需要逗号怎么办?@Pointy不需要。*?意思是让量词变懒吗?@alex哦,是的,对了;很抱歉。我今天过得很奇怪:-试过了,但什么都没回。在正则表达式测试程序中也不起作用。@user1828310。你需要正确地使用它。。。检查演示。@user1828310。它给出了第一个匹配的组-根据大括号匹配的字符,在本例中是不带.suffix的域名。尝试了,但没有返回任何内容。在正则表达式测试程序中也不起作用。@user1828310。你需要正确地使用它。。。检查演示。@user1828310。它将为您提供第一个匹配的组-根据大括号匹配的字符,在本例中是不带.suffix的域名。可能更快,但不符合他的要求…:哦,我明白了。。。他编辑了它,并评论道:O我将给出一个vup以获得更好的解决方案-@salih0vicX我测试了它,但它没有显示任何东西@salih0vicX噢,还有,我不想让.com聚会更快,但没有按他的要求做…:哦,我明白了。。。他编辑了它,并评论道:O我将给出一个vup以获得更好的解决方案-@salih0vicX我测试了它,但它没有显示任何东西@salih0vicX哦,还有,我不想参加.com聚会,我试过了,效果不错,但我得到了@gmail.,gmail。我只想要一次,不带逗号。@user1828310-我修改了答案,只得到了子组。我试过了,效果不错,但我得到了@gmail.,gmail。我只想要一次,不带逗号。@user1828310-我修改了答案,只得到了子组。