首页 > 解决方案 > 在正则表达式反向引用中标记的八进制文字

问题描述

jshint 发射器发射器/emitter.js:第 15 行,第 61 列,在严格模式下不允许使用八进制文字。

1 个错误

我在源代码上运行 linter jshint 时收到上述消息。

程序中的违规行是:

let pattern = new RegExp("^-(?=[gim]{1,3}$)(?!.*(.).*\1).*$");

jshint 在正则表达式中的 \1 处标记错误。

有什么办法可以摆脱来自 jshint 的这条消息?

你可以在 这里查看源代码

标签: javascriptnode.jsregexjshint

解决方案


在 node.js 中,(one for node, one for the regex)由于 node.js 处理字符串的方式,您必须对反斜杠进行反斜杠。

new RegExp('^-(?=[gim]{1,3}$)(?!.*(.).*\\1).*$');


在此处输入图像描述


推荐阅读