Russian Qt Forum

Qt => Общие вопросы => Тема начата: aliks-os от Март 27, 2013, 23:09



Название: [РЕШЕНО] Регулярные выражение, помогите составить
Отправлено: aliks-os от Март 27, 2013, 23:09
Кипит наш разум...гуглил, читал не дошло, прошу помочь

Есть ProxyModel, прикручиваю фильтрацию при помощи регулярных выражений.

Есть строки типа

Ляляля блабла
Ляляля блабла*
Туту траляла
Туту траляла*

Мне нужно что строки со знаком * НЕ показывались, путем долгого метания получилось как раз наоборот.
Помогите люди добрые...

Вот так я сделал чтобы показывались...
QString date3 = "[\w\*]";


Название: Re: Регулярные выражение, помогите составить
Отправлено: kambala от Март 28, 2013, 00:22
Код
C++ (Qt)
QString s;
return !s.contains("*");
не? и никакие регулярки не нужны.

а у тебя уже ошибка в неэкранировании бэкслэшей.


Название: Re: Регулярные выражение, помогите составить
Отправлено: aliks-os от Март 28, 2013, 08:21
ты видно не правильно понял...регулярное выражение мне нужно чтобы подать его в

QString date3 = "[\w\*]";
_proxyModel->setFilterRegExp(date3);


Название: Re: Регулярные выражение, помогите составить
Отправлено: VPS от Март 28, 2013, 08:37
Попробуйте вот так: [а-яА-Я]+\s[а-яА-Я]+[^\*]$


Название: Re: Регулярные выражение, помогите составит&#
Отправлено: aliks-os от Март 28, 2013, 09:50
Попробуйте вот так: [а-яА-Я]+\s[а-яА-Я]+[^\*]$

Спасибо за подсказку! мне помог вот такой вариант

Код:
"\\w+[^\*]$


Название: Re: [РЕШЕНО] Регулярные выражение, помогите составить
Отправлено: kambala от Март 28, 2013, 13:16
ты видно не правильно понял...регулярное выражение мне нужно чтобы подать его в

QString date3 = "[\w\*]";
_proxyModel->setFilterRegExp(date3);
я думал ты наследуешься от модели и переопределяешь bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const. это будет работать быстрее.