пытаюсь разобраться с классом QRegExp
есть ли функция, которая возвращает true|false наподобии indexIn() ?
мне нужно просто проверять валидность строки регулярному выражению
чтото наподобии
if (QRegExp("^([0-9]{5,6}|VRB[0-9]{2,3})(G[0-9]{2})?(KMH|KT|MPS)([0-9]{3}V[0-9]{3})?$").indexIn(str)) != -1)
return true;
} else {
return false;
}
Глянь в сторону http://doc.qt.nokia.com/latest/qregexpvalidator.html
bool QRegExp::exactMatch ( const QString & str ) const
int QString::indexOf ( const QRegExp & rx, int from = 0 ) const
еще вопрос:
насколько я понял
QRegExp("^\\d").exactMatch(str)==true
QRegExp("\\d$").exactMatch(str)==true
QRegExp("\\d").exactMatch(str)==true
QRegExp("^\\d$").indexIn(str)!=-1
Нет, вот примерная интерпретация:
Ну как я понял... exactMatch() дословно: точно совпадает, т.е.
QRegExp("\\d").exactMatch(str) это полное соответствие str выражению "\d"
или я чтото не так понял? вроде и тесты проводил
например
QRegExp("1").exactMatch("1") //true
QRegExp("1").exactMatch("11") //false
QRegExp("^1").indexIn("11") //0
QRegExp("^1$").indexIn("11") //-1
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)