我的同事和我正在尝试匹配来自特定域的测试电子邮件以进行自动白名单 我们正在尝试匹配“any.random.nonsense+test23@nothing.com”形式的电子邮件
我们原来的RegEx是/\+test[0-9]+@nothing.com/g
。这仅匹配包含偶数的电子邮件。非常奇怪和意外。
我们认为这可能是@
符号与前面数字之间的互动问题,因此我们逃过了@
。然后我们尝试/\+test[0-9]+\@nothing.com/g
,但只匹配给定表单的电子邮件与奇数位。也很奇怪。
我们能够通过在结尾/\+test[0-9]+@nothing.com/
处取消全局标记来使正则表达式工作。这符合一切,但我们不确定原因。
原始RegEx测试:
Escaped @ symbol RegEx test:
(我会发布第三个链接到工作版本,但我没有足够的声誉)
有人可以帮忙解释为什么我们会看到这种行为吗?这是怎么回事?