javascript - 循环遍历 javascript 中的一组正则表达式

标签 javascript regex for-loop

我有一组正则表达式存储在一个对象中,格式为

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/

相关文章:

javascript - 如何替换 Javascript 中的字符串

java - 正则表达式匹配从 A 到 Z 的单个字母

ruby 正则表达式命名和组

c++ - c++ 中的设置函数不起作用

javascript - D3 TreeMap - 使用直线而不是对 Angular 线时如何转换链接

javascript - 使用 JQuery 将 PHP echo 移动到另一个 div

javascript - 不能改变元素的高度

xml - XPath 查询(带有一些简单的正则表达式限制)

python - python中的for循环

python - 如何遍历字典列表