вариант 1:
QRegExp strReg("[0,1][0-9][0-9]");
QString qstr = "400";
int i = strReg.indexIn(qstr);// i == -1 что собственно правельно
вариант 2:
QRegExp strReg("[0,1]?[0-9][0-9]");
QString qstr = "400";
int i = strReg.indexIn(qstr);// i == 0 ПОЧЕМУ???