Название: QRegExp Отправлено: mike_price от Сентябрь 22, 2010, 02:13 Задача следующая: есть текст. найти в нём слова с максимально длинной подстрокой согласных букв.
слова состоят из латиницы и цифр, всё остальное - разделяющие символы. текст я правильно перевёл в QStringList, без разделяющих знаков. а вот как найти макс. подстроку согласных не знаю. может в этом помочь RegExp? Название: Re: QRegExp Отправлено: Marat(Qt) от Сентябрь 22, 2010, 13:18 Ну можно взять исходную строку и искать в ней что-то типа [A-Za-z0-9]*[BCDFGHJKLMNPQRSTVWXZbcdfghjklmnpqrstvwxz]{x,x}[A-Za-z0-9]* где x(тот что в фигурных скобках) - количество согласных, поиск повторять до тех пор, пока он что-то находит(увеличивая x на каждой итерации), допустим он нашел подслово при x=4 и ничего не нашел при x=5, тогда смело повторяем поиск с x=4 и найденное слово - наш результат. как-то так.
Название: Re: QRegExp Отправлено: mike_price от Сентябрь 23, 2010, 00:38 Ну можно взять исходную строку и искать в ней что-то типа [A-Za-z0-9]*[BCDFGHJKLMNPQRSTVWXZbcdfghjklmnpqrstvwxz]{x,x}[A-Za-z0-9]* где x(тот что в фигурных скобках) - количество согласных, поиск повторять до тех пор, пока он что-то находит(увеличивая x на каждой итерации), допустим он нашел подслово при x=4 и ничего не нашел при x=5, тогда смело повторяем поиск с x=4 и найденное слово - наш результат. как-то так. этот RegExp не универсальный и не правильно сработает при словах типа atatttat. Название: Re: QRegExp Отправлено: SimpleSunny от Сентябрь 23, 2010, 02:04 В QStringList хранится список слов?
|