我知道这是一个重复的问题,对不起家伙,但我已经阅读并尝试了类似问题的解决方案,但它似乎不起作用(可能是因为我真的不明白这个问题)
我正在使用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
编辑:问题在于删除加号。 “+” - > “\ +”