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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Регулярные выражения - отрицание  (Прочитано 4761 раз)
kibsoft
Хакер
*****
Offline Offline

Сообщений: 625


Просмотр профиля WWW
« : Февраль 10, 2010, 15:03 »

Нужно убирать все знаки препинания(и др.), сделал вот такой regexp:
QRegExp("[.,!?/\\x2D()«»<>;:\'\"]") - \\x2D - это тире
Так вот, когда встречаются слова типа "кто-то", "что-то", тире удаляется и слово объединяется..
Как этого избежать?
P.S. Но бывают строки типа "----", т.е. здесь тире удаляются все и это то что мне нужно..
Записан

http://kibsoft.ru - Download the Qt Media Encoding Library here

The apps that were written using QtMEL:
http://srecorder.com - Screen recording software
kibsoft
Хакер
*****
Offline Offline

Сообщений: 625


Просмотр профиля WWW
« Ответ #1 : Февраль 10, 2010, 21:44 »

Вот в ассистенте нашел - \\x2D(?!.) заменяет все тире, если за ним нету текста..
Но как объединить с моим прошлым?
QRegExp("[\\x2D(?!.).,!?/()«»<>;:\'\"]") - вот так работает неправильно..
Записан

http://kibsoft.ru - Download the Qt Media Encoding Library here

The apps that were written using QtMEL:
http://srecorder.com - Screen recording software
kibsoft
Хакер
*****
Offline Offline

Сообщений: 625


Просмотр профиля WWW
« Ответ #2 : Февраль 10, 2010, 21:52 »

QRegExp("\\x2D(?!.)|[.,!?/()«»<>;:\'\"]") вот так заработало Улыбающийся
Записан

http://kibsoft.ru - Download the Qt Media Encoding Library here

The apps that were written using QtMEL:
http://srecorder.com - Screen recording software
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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