Sadly, AS2 has no native understanding of regular expressions. To use RegExp, you'd have to move to AS3, or find a regular expression class written for AS2...there are some out there.
I think for this purpose you'd need to create a custom function. I'm not sure the one I've created below is the best...a bit kludgy and maybe not the most performant, but I think it does essentially what you need.
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;
}