我有一组正则表达式存储在一个对象中,格式为
myRegexes = {};
myRegexes.reg1 = /[a-z]+[0-9]+/;
myRegexes.reg2 = /[a-e]+/;
然后我可以做 myRegexes.reg1.exec(sampleStr)
它工作得很好。
但是,如果我循环遍历这个对象并说
for( reg in myRegexes ){
reg.exec(sampleStr);
}
我收到一个异常,提示“TypeError: Object reg1 has no method 'exec'”
我知道 javascript 对于 for-in 循环的执行方式很奇怪,但我不知道它如何成功找到变量,但一路上失去了它的方法。谁能告诉我为什么会失败以及正确的方法是什么?
最佳答案
reg
指的是属性名称,您必须获取实际的正则表达式对象:
for( reg in myRegexes ) {
myRegexes[ reg ].exec(sampleStr);
}
关于javascript - 循环遍历 javascript 中的一组正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13923938/