crossplatform.ru

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


  Ответ в Объяснение некоторых странностей при работе с QRegExp
Введите ваше имя
Подтвердите код

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

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


Последние 10 сообщений [ в обратном порядке ]
ViGOur Дата 20.9.2008, 18:08
  AD, я же тебе уже давал ссылку на книжку по регулярным выражениям. Думаю, так как ты частенько пишешь регулярные выражение (как я понял) тебе стоит ее всетаки прочесть, чтобы знать как и что там. ;)
AD Дата 20.9.2008, 12:05
  Я ведь описал что содержит строка. В строке какое нибудь математическое выражение. Описанные после стандартных операций имена 3 функций - это всего-навсего тоже "операции" над аргументами функции, но более сложные. Соответственно, строка должная либо содержать какие-нибудь математические действия. Как они могу выглядеть, описал в предыдущем посте.
niXman Дата 20.9.2008, 1:33
 
Цитата(AD @ 19.9.2008, 23:18) *
Так это строка, которая разбирается.

Это я понял. Интересовало содержимое строки.
const char* BASE_OPERATIONS = "[+-/*]|gethmax|gethaccuratly|gethmax4";

Выражение ваще не верное!
Опиши подробнее - какому закону соответствует содержимое строки?
AD Дата 19.9.2008, 22:18
  Так это строка, которая разбирается. В ней какая -нибудь формула, подобная этой

msl_alt - Hbar
or
gethmax(lat, lon)
niXman Дата 19.9.2008, 21:48
  AD, А кто такой "expression" ? Что в нем содержится?
AD Дата 19.9.2008, 19:55
  ну может подскажите, почему запятая воспринимается за элемент регэкспа?
AD Дата 19.9.2008, 11:50
  Сможете объяснить, почему в данном коде:
const char* BASE_OPERATIONS = "[+-/*]|gethmax|gethaccuratly|gethmax4";

/// Разбор выражения
vector<COMPUTE*> ElemParser::parsing()
{
    vector<COMPUTE*> vc;
    QRegExp exp(BASE_OPERATIONS);
    int matched = 0;
    while((matched = exp.indexIn(expression, matched)) != -1)
    {
        QStringList l1 = exp.capturedTexts();
        for(QList<QString>::iterator iter=l1.begin(); iter!=l1.end(); ++iter)
        {
            string hes = iter -> toStdString();
            int gagaga = 9999;
        }

        matched += exp.matchedLength();
    }

    return vc;
}
строка hes отлавливает значение ","?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 25.1.2020, 8:27