我想将“ 3”替换为“ 5”。当使用静态时,它可以正常工作,但是当我通过变量var allvar= '"3"';
使用它时,则不能正常工作。
答案 0 :(得分:4)
new RegExp( /[allvar]+/g );
将构造一个正则表达式,该正则表达式匹配集合a, l, v, a, r
中一个或多个字符的所有不间断序列。
要从变量构造正则表达式,可以执行以下操作:
new RegExp(allvar, 'g')
最好将具有RegExp特殊含义的字符转义,除非您打算让allvar
包含regexp源。不幸的是,RegExp.escape
是still not in the language,所以有人会使用workaround。
new RegExp(escapeRegExp(allvar), 'g')