internal int ScanDecimal()
{
int i = 0;
int d;
while (CharsRight() > 0 && (uint)(d = (char)(RightChar() - '0')) <= 9)
{
MoveRight();
if (i > (MaxValueDiv10) || (i == (MaxValueDiv10) && d > (MaxValueMod10)))
throw MakeException(SR.CaptureGroupOutOfRange);
i *= 10;
i += d;
}
return i;
}