crossplatform.ru

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


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

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

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


Последние 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 Рейтинг@Mail.ru Текстовая версия Сейчас: 5.7.2025, 6:46