Russian Qt Forum
Сентябрь 23, 2024, 14:28 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] Регулярные выражение, помогите составить  (Прочитано 3591 раз)
aliks-os
Гость
« : Март 27, 2013, 23:09 »

Кипит наш разум...гуглил, читал не дошло, прошу помочь

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

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

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

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

Вот так я сделал чтобы показывались...
QString date3 = "[\w\*]";
« Последнее редактирование: Март 28, 2013, 09:55 от aliks-os » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #1 : Март 28, 2013, 00:22 »

Код
C++ (Qt)
QString s;
return !s.contains("*");
не? и никакие регулярки не нужны.

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

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
aliks-os
Гость
« Ответ #2 : Март 28, 2013, 08:21 »

ты видно не правильно понял...регулярное выражение мне нужно чтобы подать его в

QString date3 = "[\w\*]";
_proxyModel->setFilterRegExp(date3);
Записан
VPS
Гость
« Ответ #3 : Март 28, 2013, 08:37 »

Попробуйте вот так: [а-яА-Я]+\s[а-яА-Я]+[^\*]$
Записан
aliks-os
Гость
« Ответ #4 : Март 28, 2013, 09:50 »

Попробуйте вот так: [а-яА-Я]+\s[а-яА-Я]+[^\*]$

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

Код:
"\\w+[^\*]$
« Последнее редактирование: Март 28, 2013, 11:21 от aliks-os » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #5 : Март 28, 2013, 13:16 »

ты видно не правильно понял...регулярное выражение мне нужно чтобы подать его в

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

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.12 секунд. Запросов: 22.