如何在 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
。
我的尝试是:
var re = new RegExp("\w{" + n + "}", "g");
但似乎没有用。
P.S。 - 我已经搜索了几个关于 Whosebug 的问题,认为它以前一定被问过但是我没有找到一个,所以我问了我的问题。
问题是\
不仅是regex中的转义符,也是JS字符串中的转义符。因此,当您从字符串创建正则表达式时,您需要对其进行转义。这意味着 \w
在字符串中变成 "\w"
,如果你想匹配一个 \
它甚至会变成 "\\"
.
如果您不关心字符或者字符串之前是否经过验证,您也可以使用 .
而不是将其更改为 \w
。