вариант 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 ПОЧЕМУ???