"a1b2c3d".replace(/[0-9]/g,"x")
按预期返回“axbxdxd”。
/[0-9]/g.exec("a1b2c3d")
但是只返回包含一个项目的数组:[“1”]。它不应该归还所有比赛吗?
提前致谢!
答案 0 :(得分:5)
没有。您需要多次致电exec
:
var re = /[0-9]/g;
var input = "a1b2c3d";
var myArray;
while ((myArray = re.exec(input)) != null)
{
var msg = "Found " + myArray[0] + ". ";
print(msg);
}
修改:Mozilla Developer Network page on exec
对此功能有更多要说的内容。这就是我得到这个例子并根据你的问题对其进行修改的地方。
编辑2 :我已经更改了上面的代码,因此它实际上并不是一个无限循环。 : - )