1

我们有一个在开发过程中写入屏幕的 javascript 堆栈跟踪。

 (OurCustom.js?635095252297740283:14:29)
    at jquery-1.8.3.min.js?634937263102341783:2:11602
    at Function.v.extend.map (jquery-1.8.3.min.js?634937263102341783:2:15448)

我正在尝试替换最后两个冒号

(OurCustom.js?635095252297740283:14:29)

(OurCustom.js?635095252297740283 line 14 pos 29)

我的尝试不起作用。什么都没有被替换。

stackMessage = stackMessage.replace(/_(:\d*)(:\d*)_/g, "line $1 pos $2");

编辑:顺便说一句,这就是我获得堆栈跟踪的方式。(有正确答案)

catch (err)
{
    var stackMessage = (err.stack || err.stacktrace || "")
                       .replace(/:(\d*):(\d*)/g, " line $1 pos $2");
...
{
4

1 回答 1

2

问题在于您的正则表达式中的那些下划线。你应该使用

stackMessage = stackMessage.replace(/:(\d*):(\d*)/g, " line $1 pos $2")
于 2013-07-15T23:38:22.100 回答