Привет, я пытаюсь выполнить обратный поиск регулярных выражений на строке, чтобы разделить ее на группы из 3-х цифр. Насколько я могу видеть из документации AS3 поиск в обратном порядке невозможен в двигателе reg ex.
Цель этого упражнения - вставить триплетные запятые в число, подобное так:
10000000 => 10,000,000
Я собираюсь сделать это так:
string.replace(/(\d{3})/g, ",$1")
Но это неверно из-за того, что поиск не происходит со спины, а замена $1 будет работать только для первого матча.
У меня возникает ощущение, что мне будет лучше выполнять эту задачу, используя цикл.
UPDATE:
Из-за того, что AS3 не поддерживает lookahead, я решил это.
public static function formatNumber(number:Number):String
{
var numString:String = number.toString()
var result:String = ''
while (numString.length > 3)
{
var chunk:String = numString.substr(-3)
numString = numString.substr(0, numString.length - 3)
result = ',' + chunk + result
}
if (numString.length > 0)
{
result = numString + result
}
return result
}