crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в помогите с QRexExp
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
soullibra Дата 20.10.2009, 17:35
  Ну как я понял... 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
ViGOur Дата 20.10.2009, 10:26
  Нет, вот примерная интерпретация:
  1. от начала строки
  2. до конца строки
  3. весь текст
  4. от начала строки до конца строки
soullibra Дата 20.10.2009, 8:44
  еще вопрос:
насколько я понял
QRegExp("^\\d").exactMatch(str)==true
QRegExp("\\d$").exactMatch(str)==true
QRegExp("\\d").exactMatch(str)==true

все три варианта одинаковы и равносильны
QRegExp("^\\d$").indexIn(str)!=-1

?
BRE Дата 19.10.2009, 21:33
  bool QRegExp::exactMatch ( const QString & str ) const
int QString::indexOf ( const QRegExp & rx, int from = 0 ) const
SABROG Дата 19.10.2009, 21:20
  Глянь в сторону QRegExpValidator
soullibra Дата 19.10.2009, 21:09
  пытаюсь разобраться с классом 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;
}

PS привык к php-му preg_match()
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 25.1.2021, 6:50