我想从对象属性动态构造一个简单的正则表达式。使用对象属性构造正则表达式时量化器无效
var type = 'bold';
var styles = {
"bold italic" : "***",
"bold" : "**",
"italic" : "*"
};
var re = new RegExp(styles[type], 'g');
但是,我得到一个无效量词错误返回。
如果我把引号的变量,像这样:
var re = new RegExp('"' + styles[type] + '"', "g");
它正常工作时type == 'italic'
但不'bold'
任何人都可以解释为什么是这样,并且还提供了一个修复?
你不解释你从你正在试图建立正则表达式的期望。 –
结果在很大程度上与问题无关。我主要关心错误被抛出的原因。这只不过是需要逃避'*',就像@acdcjunior – Gordo