我想使用正则表达式从字符串中提取,为什么它不起作用?从“10:13*12,20:23*22,60:36*432,...”,我想提取 10:13*12 然后 20:23*22 等等。然后,我想从 10:13*12、10、13 和 12 中提取,与 20:23*22 相同。
例如:levelObjs[i] = "10:13*12,20:23*22,60:36*432,..."
var levelObjExp:RegExp = /(.*?),/ig;
var levelObjInfoExp:RegExp = /(\d+):(\d+)*(\d+)/ig;
for(var i:int = 0; i < levelObjs.length; i++) {
if(levelObjs[i] != 0){
var levelObj:Object = levelObjExp.exec(levelObjs[i]);
while (levelObj != null) {
trace (levelObj[1]);
var levelObjInfo:Object = levelObjInfoExp.exec(levelObj[1]);
if (levelObjInfo != null) {
var levelObjNum:int = levelObjInfo[1];
var levelObjX:int = levelObjInfo[2];
var levelObjY:int = levelObjInfo[3];
trace(levelObjNum, levelObjX, levelObjY);
}
levelObj = levelObjExp.exec(levelObjs[i]);
}
}
}
此外,此代码需要在每一帧上,并且需要简单并且使用尽可能少的 CPU 使用率。正则表达式是否使用相对较多的 CPU 使用率?也许有更好的方法可以在不使用正则表达式的情况下做到这一点?