qregexp



Автор КрОсАвЧеГ задал вопрос в разделе Другие языки и технологии

не работает регулярное выражение в Qt/C++: "^(.*?[аеиоуыэюя]) (.*)$". в чем причина? и получил лучший ответ

Ответ от Капитан Гугл[гуру]
В кривизне рук.
Функция точно UTF поддерживает?
--
По идее оно должно найти первое совпадение. А такое совпадение начинается с начала строки.
--
Да, и если знаешь, в чем дело, то чего вопрос задаешь? А если не знаешь - то аргументировать надо, почему не в кодировке.
--
Придется открыть тебе страшную тайну: есть множество форматов регулярных выражений; и даже для одного формата есть множество функций, в которых они должны работать. И мне не особо интересно угадывать, в какую именно джава-функцию ты это выражение писал и на каком сайте проверял.
Судя по описанию класса на , тебе нужно что-то вроде
QRegExp reg = QRegExp("^(.*?[аеиоуыэюя]) $");
int pos=reg.indexIn("приветствую")+reg.matchedLength();

Ответ от }l{e4kka[активный]
не жадный режим стоит по умолчанию. Ставя знак вопроса ты включаешь жадность.. . перенеси вопрос во вторую скобку.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: не работает регулярное выражение в Qt/C++: "^(.*?[аеиоуыэюя]) (.*)$". в чем причина?
Регулярные выражения на Википедии
Посмотрите статью на википедии про Регулярные выражения
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*