我们有一个在开发过程中写到屏幕上的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");
...
{
最佳答案
问题出在正则表达式中的那些下划线。你应该用
stackMessage = stackMessage.replace(/:(\d*):(\d*)/g, " line $1 pos $2")