const errorDetails = {消息:err.message,状态:err.status,stackHighlighted:err.stack.replace(/ [a-z _- \ d] +。js:\ d +:\ d + / gi,'<mark> $ &</mark>')};

时间:2018-12-17 18:01:41

标签: javascript node.js

我在.replace()遇到非法字符范围错误。我该如何解决?

err.stack.replace(/[a-z_-\d]+.js:\d+:\d+/gi, '<mark>$&</mark>')

1 个答案:

答案 0 :(得分:0)

当'-'字符作为文字出现时,它应该是第一个字符或最后一个字符,否则它表示字符范围,即[_-\d]是'_'和'\ d之间所有字符的集合'。但是[_\d-]是'_','\ d'和'-'的集合。