省略非捕获组 ?: 对 RegExp.prototype.test() 有负面影响吗?
Does omitting non-capturing groups ?: have a negative effect on RegExp.prototype.test()?
我目前正在测试特定邮件格式的字符串。
/^[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)
但我看不出结果有什么不同。测试只是检查,所以它应该是无关紧要的,不是吗?
仅当您使用反向引用 (</code> <code>
) 时,在测试中在捕获组和非捕获组之间切换才有意义。正如您不这样做,更改无效。
我目前正在测试特定邮件格式的字符串。
/^[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)
但我看不出结果有什么不同。测试只是检查,所以它应该是无关紧要的,不是吗?
仅当您使用反向引用 (</code> <code>
) 时,在测试中在捕获组和非捕获组之间切换才有意义。正如您不这样做,更改无效。