Flash / Flex / ActionScript/Regular Expressions/lastIndex
lastIndex property is set to a different value
package{
import flash.display.Sprite;
public class Main extends Sprite{
public function Main(){
var reCase:RegExp = new RegExp("abc", "ig");
var sVal:String = "aBcdefabCdefABC";
var aMatch:Array = reCase.exec(sVal);
trace(aMatch + " - " + reCase.lastIndex);
reCase.lastIndex = 0;
aMatch = reCase.exec(sVal);
trace(aMatch + " - " + reCase.lastIndex);
reCase.lastIndex = 0;
aMatch = reCase.exec(sVal);
trace(aMatch + " - " + reCase.lastIndex);
reCase.lastIndex = 0;
aMatch = reCase.exec(sVal);
trace(aMatch + " - " + reCase.lastIndex);
reCase.lastIndex = 0;
aMatch = reCase.exec(sVal);
trace(aMatch + " - " + reCase.lastIndex);
}
}
}
read and write to this property to move the starting point of the next match
package{
import flash.display.Sprite;
public class Main extends Sprite{
public function Main(){
var reCase:RegExp = new RegExp("abc", "ig");
var sVal:String = "aBcdefabCdefABC";
var aMatch:Array = reCase.exec(sVal);
trace(aMatch + " - " + reCase.lastIndex);
aMatch = reCase.exec(sVal);
trace(aMatch + " - " + reCase.lastIndex);
aMatch = reCase.exec(sVal);
trace(aMatch + " - " + reCase.lastIndex);
aMatch = reCase.exec(sVal);
trace(aMatch + " - " + reCase.lastIndex);
aMatch = reCase.exec(sVal);
trace(aMatch + " - " + reCase.lastIndex);
}
}
}
The lastMatch property is the string containing the last match made by the regular expression
package{
import flash.display.Sprite;
public class Main extends Sprite{
public function Main(){
var reCase:RegExp = new RegExp("def", "gi");
var sVal = new String("abcdefghi");
var sMatches:Array = sVal.match(reCase);
trace(reCase.lastMatch); // Displays: def
}
}
}