Название: Пара проблем Отправлено: __Heaven__ от Февраль 07, 2015, 23:41 Привет, друзья!
Есть несколько вопросов. 1. Под linux при открытии файла через диалог у меня фильтр зависит от регистра букв. Можно ли как-то сделать как под виндой? 2. в упор не вижу ошибки: Читаю файл. Второй иф срабатывает, третий почему-то нет. Строка, на которой не происходит желаемого срабатывания: "#SEPARATED VOLUMES" Код Попутно хочу спросить, почему у меня не срабатывает line.contains(QRegExp("*volume*separate*"))? Линия предварительно переведена в нижний регистр. Название: Re: Пара проблем Отправлено: __Heaven__ от Февраль 08, 2015, 00:18 Допилил свой код до:
Код else if (line.contains("separate"), Qt::CaseInsensitive) не срабатывает qDebug() << line.split("separate"); разделяет. Что за ерунда? Название: Re: Пара проблем Отправлено: __Heaven__ от Февраль 08, 2015, 00:23 Вопрос 2 решил.
было Код стало Код
Но почему регэксп не работает? Название: Re: Пара проблем Отправлено: kambala от Февраль 08, 2015, 01:40 укажи тип WildCard. просто звездочка означает «0 или более повторений символа перед ней»
Название: Re: Пара проблем Отправлено: __Heaven__ от Февраль 09, 2015, 09:25 Спасибо, kambala.
WildCard это синтаксис bash? Зачем было создавать два класса: QRegExp и QRegularExpression? Название: Re: Пара проблем Отправлено: kambala от Февраль 09, 2015, 16:05 WildCard это синтаксис bash? ну не только баша — в виндовой цмд тожеЗачем было создавать два класса: QRegExp и QRegularExpression? второй появился в пятерке, вроде полностью ICU-совместим (не страдает ограничениями QRegExp)Название: Re: Пара проблем Отправлено: __Heaven__ от Февраль 09, 2015, 17:11 не страдает ограничениями QRegExp Но при этом не поддерживает WildCard...Название: Re: Пара проблем Отправлено: kambala от Февраль 09, 2015, 20:16 переписать вайлдкард на регэксп - секундное дело :)
Название: Re: Пара проблем Отправлено: vizir.vs от Февраль 10, 2015, 12:32 Если я все правильно помню, то надо в вашем регексе не хватает точек. Должно быть так:
.*volume.*separate.* в регексе *volume*separate* первая звезда фиг его знает что будет делать, вторая говорит о том, что после m может быть от 0 и до бесконечности букв e, вторая обозначает тоже самое. А я думаю, что вы другое имели ввиду. |