К сожалению, AS2 не имеет собственного понимания регулярных выражений. Чтобы использовать RegExp, вам нужно перейти на AS3 или найти класс регулярных выражений, написанный для AS2 ... Есть некоторые из них.
Я думаю, для этого вам нужно создать пользовательскую функцию. Я не уверен, что тот, который я создал ниже, является лучшим ... немного грязным и, возможно, не самым эффективным, но я думаю, что он делает то, что вам нужно.
var in_pers:String = "3x5+5x3-6x8-4x2";
var tmp:Array = multiSplit(in_pers, ["+", "-"]);
trace (tmp);
function multiSplit(str:String, delimiters:Array):Array
{
/* create an array to return */
var resultArray:Array = [];
/* loop through the string */
var a:Number = 0;
while (a < str.length)
{
var first:Number = str.length;
var bLen:Number = delimiters.length;
/* loop through the delimiters */
for (var b:Number = 0; b < bLen; b++)
{
var delimiter:String = delimiters[b];
/* find the first delimiter */
var index:Number = str.indexOf(delimiter, a + 1);
if (index != -1 && index < first)
first = index;
}
if (first == a)
break;
/* Add the substring to the return array */
resultArray.push(str.substring(a, first));
a = first+1;
}
return resultArray;
}