防止RegExpt返回不在括号之间的匹配字符串

时间:2018-11-03 20:25:26

标签: javascript regex

我要匹配文本“ Email:”

之后的所有电子邮件

但是,当使用match时,匹配项将返回整个字符串:Email: demo@example.com

是否没有办法只返回正则表达式中与括号匹配的文本? (.*?) 我只想获取电子邮件地址:demo@example.com

这是我到目前为止得到的:

var regex = new RegExp('E-mail:\\s(.*?)<br>', 'mg');
var matches = document.body.innerHTML.match(regex);

是的,我知道在循环上使用exec可以只在电子邮件中检索数组。但是我必须手动创建循环并得到我想要的东西:

var regex = new RegExp('E-mail:\\s(.*?)<br>', 'mg');
var allMatches = [];
while( matches = regex.exec(document.body.innerHTML)){
    allMatches.push(matches[1]);
}
console.log(allMatches);

0 个答案:

没有答案