如何在 JS 的正则表达式中使用用户输入作为量词?

How to use user input as an Quantifier in Regex in JS?

我的尝试是:

var re = new RegExp("\w{" + n + "}", "g");

但似乎没有用。

P.S。 - 我已经搜索了几个关于 Whosebug 的问题,认为它以前一定被问过但是我没有找到一个,所以我问了我的问题。

问题是\不仅是regex中的转义符,也是JS字符串中的转义符。因此,当您从字符串创建正则表达式时,您需要对其进行转义。这意味着 \w 在字符串中变成 "\w",如果你想匹配一个 \ 它甚至会变成 "\\".

如果您不关心字符或者字符串之前是否经过验证,您也可以使用 . 而不是将其更改为 \w