【发布时间】:2011-11-01 10:05:46
【问题描述】:
我们最近遇到了一个错误,在一位开发人员将 RegExp 文字更改为构造函数调用之后,我想知道为什么会有任何差异。 确切的代码是
var parts = new RegExp("/rt:([^@]+)@(\d+)/").exec(tag);
对比原版
var parts = /rt:([^@]+)@(\d+)/.exec(tag);
当tag 为rt:60C1C036-42FA-4073-B10B-1969BD2358FB@00000000077 时,第一个(错误)调用返回null,而第二个调用返回["rt:60C1C036-42FA-4073-B10B-1969BD2358FB@00000000077", "60C1C036-42FA-4073-B10B-1969BD2358FB", "00000000077"]
不用说,我恢复了更改,但我想知道为什么会有这样的差异。
【问题讨论】:
标签: javascript regex