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" выводится зеленым цветом, а "абв" - черным, а не красным, как было задумано. Т.е. программа не распознает введенные русские символы как часть паттерна [абв]. Я, кажется, непонятно объясняю... Ну, надеюсь вы меня поймете. Заранее спасибо.