Hello all,
Пишу свою первую программу под Линукс. Идея такова: в один текстбокс
вставляется некий текст; программа анализирует каждый символ и в
другой текстбокс (точнее, QLabel) выводит тот же текст, но
раскрашенный: английские символы - зеленым цветом; русские - красным,
остальные - черным.
Проблема в том, что русские символы упорно не желают матчиться в
паттерн, содержащий русский алфавит. Т.е. введенные русские буквы
распознаются как "все остальные", т.е. выводятся черным цветом. Я уже
пробовал даже исходник в UTF-8 перекодировать, все бесполезно...
Подскажите, как поправить?
#include <qregexp.h>
void Form1::analyze()
{
//printf("C++\n");
int i;
QRegExp latin( "[a-z]|[A-Z]" );
QRegExp rus( "[абв]" ); //для простоты пока три буквы только
for (i=0; i<=txt1->length(); i++) {
if (txt1->text().mid(i,1).contains(latin)) {
QString tmp;
tmp = txt2->text();
tmp.append( "<font color=darkgreen>" );
tmp.append( txt1->text().mid(i,1) );
tmp.append( "</font>" );
txt2->setText(tmp);
}
else if (txt1->text().mid(i,1).contains(rus)) {
QString tmp;
tmp = txt2->text();
tmp.append( "<font color=red>" );
tmp.append( txt1->text().mid(i,1) );
tmp.append( "</font>" );
txt2->setText(tmp);
}
else {
QString tmp;
tmp = txt2->text();
tmp.append( "<font color=black>" );
tmp.append( txt1->text().mid(i,1) );
tmp.append( "</font>" );
txt2->setText(tmp);
}
}
}
Итак, допустим, я ввожу текст "asdf абв" - "asdf" выводится зеленым
цветом, а "абв" - черным, а не красным, как было задумано. Т.е.
программа не распознает введенные русские символы как часть паттерна
[абв].
Я, кажется, непонятно объясняю... Ну, надеюсь вы меня поймете.
Заранее спасибо.
Ответ на:
комментарий
от phoenix
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от Spicinpv


Ответ на:
комментарий
от Spicinpv
Ответ на:
комментарий
от nobody
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум QRegExp, Linux и кириллические символы (2009)
- Форум LDAP русские символы (2005)
- Форум Потеря русских символов (2004)
- Форум После QRegExp знаки вопроса вместо русских букв. (2019)
- Форум QRegExp не работает (2019)
- Форум QRegExp не работает (2015)
- Форум QRegExp && найденный текст (2005)
- Форум [Qt] символ новой строки (2012)
- Форум Русские символы меньше английских (2019)
- Форум Символ # на русской раскладке (2020)