Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Объяснение некоторых странностей при работе с QRegExp
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Общие вопросы
AD
Сможете объяснить, почему в данном коде:
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 отлавливает значение ","?
AD
ну может подскажите, почему запятая воспринимается за элемент регэкспа?
niXman
AD, А кто такой "expression" ? Что в нем содержится?
AD
Так это строка, которая разбирается. В ней какая -нибудь формула, подобная этой

msl_alt - Hbar
or
gethmax(lat, lon)
niXman
Цитата(AD @ 19.9.2008, 23:18) *
Так это строка, которая разбирается.

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

Выражение ваще не верное!
Опиши подробнее - какому закону соответствует содержимое строки?
AD
Я ведь описал что содержит строка. В строке какое нибудь математическое выражение. Описанные после стандартных операций имена 3 функций - это всего-навсего тоже "операции" над аргументами функции, но более сложные. Соответственно, строка должная либо содержать какие-нибудь математические действия. Как они могу выглядеть, описал в предыдущем посте.
ViGOur
AD, я же тебе уже давал ссылку на книжку по регулярным выражениям. Думаю, так как ты частенько пишешь регулярные выражение (как я понял) тебе стоит ее всетаки прочесть, чтобы знать как и что там. ;)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2020 IPS, Inc.