Node.js SyntaxError:无效的正则表达式:无需重复

时间:2018-01-10 22:15:33

标签: javascript node.js regex

我知道这是一个重复的问题,对不起家伙,但我已经阅读并尝试了类似问题的解决方案,但它似乎不起作用(可能是因为我真的不明白这个问题)

我正在使用Node.js制作一个不和谐的骰子掷骰子,我和我的朋友在我们玩D& D时使用。在滚动中搜索(dis)优势时,我正在制作一个RegExp,但在使用new RegExp(regExpString);时,Node会给我SyntaxError: Invalid regular expression: Nothing to repeat

当我直接使用正则表达式而不是从字符串创建一个表达式时,似乎没有问题,但这对我没有帮助,因为我使用数组构建我的正则表达式,可以轻松定制valis单词优势/劣势。

以下是代码:

const advantageWords = [
    "example",
    "list",
    "of",
    "valid",
    "words"
];

let advRegExp = "(+|-)? *[0-9]* *";

for (i in advantageWords) {
    if (i != 0)
        advRegExp += "|";
    advRegExp += advantageWords[i];
}

advRegExp += " *(+|-)? *[0-9]*";

let reg = new RegExp(advRegExp, "i");

我已经看到了关于双重逃避反弹的事情,即使我不太明白为什么,我尝试用几种不同的方式来做它并没有帮助。

PS:即时通讯使用Node.js 8.9.2

编辑:问题在于删除加号。 “+” - > “\ +”

0 个答案:

没有答案