crossplatform.ru

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


  Ответ в не работает QRegexExp
Введите ваше имя
Подтвердите код

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

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


Последние 10 сообщений [ в обратном порядке ]
eldar85 Дата 17.5.2010, 8:49
  блин, я же английский вообще мало знаю, куском понял)))
я правильно понял "нужно вместо одного два символа \\ поставить"????
сейчас попробую...

даааааааааааааа)))))))) работает!!!!!!!!!!!!!!!!!)))))))))) огромное спасибо!!!!!!!!!!!!!)))))))))
regex("hash\\('([0-9a-zA-Z]*)", fignya);

а я читал про регулярки вчера, там пишут что один обратный слышь в строке перед скобкой нужен, но то что два вообще первый раз слышу)))) спасибо!!!!)))
kwisp Дата 17.5.2010, 8:40
 
Цитата(eldar85 @ 17.5.2010, 1:47) *
тоже все мимо... что же не так???

может
Цитата
Note: The C++ compiler transforms backslashes in strings. To include a \ in a regexp, enter it twice, i.e. \\. To match the backslash character itself, enter it four times, i.e. \\\\.

eldar85 Дата 17.5.2010, 1:46
  вот так вот работает, но там получается два ненужных символа...
regex("hash([('0-9a-zA-Z]*)", fignya);

и на выходе:
('69d58f4cd6f3bb9ddaee66e06
блин ну если уж на то пошло то как удалить можно из строки два первых символа??? хотя конечно это как то коряво будет вообще...

я так понимаю что проблема главная в этой скобке... что с ней сделать то чтобы он ее как нужно воспринемал???
eldar85 Дата 17.5.2010, 0:47
  ничего не пойму, вроде все правильно, функция всегда все находила, а тут ни в какую не хочет...
вот код:
void mainWindow::regex(QString str, QString xStr)
{
    QRegExp rx(str);
    QString prim;


             int pos = 0;

             while ((pos = rx.indexIn(xStr, pos)) != -1)
             {

                 prim = rx.cap(1);

                 pos += rx.matchedLength();
             }

    qDebug() << prim;
}


ну и вот применение:
QString fignya = "fijgeiowjgoiewj jiojgeijbio iogjeiojgieojgb igjibj jiogjirbjior jiodgjibj hash('69d58f4cd6f3bb9ddaee66e06'), dfkjgekd kdgjkedjg";
regex("hash('([a-z0-9]*)", fignya);

и нифига не находит...
и вот так пробывал:
regex("hash\('([a-z0-9]*)", fignya);

тоже все мимо... что же не так???
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 19.4.2024, 7:58