忽略不捕获的组?:对RegExp.prototype.test()有负面影响吗?

时间:2018-11-14 09:46:33

标签: javascript regex capturing-group

我目前正在测试字符串是否采用特定的邮件格式。

/^[A-Za-z0-9](([A-Za-z0-9]|\.(?!\.))*[A-Za-z0-9]+)?@[A-Za-z0-9]+\.[A-Za-z]{2,}$/.test(email)

现在我有一些括号,可以将其标记为非捕获组,如下所示:

/^[A-Za-z0-9](?:(?:[A-Za-z0-9]|\.(?!\.))*[A-Za-z0-9]+)?@[A-Za-z0-9]+\.[A-Za-z]{2,}$/.test(email)

但是我发现结果之间没有任何区别。仅测试检查,所以应该无关紧要,不是吗?

1 个答案:

答案 0 :(得分:2)

仅当您使用反向引用(\1 \2)时,才需要在测试中的捕获组和非捕获组之间进行切换。如您所愿,更改无效。