Russian Qt Forum

Qt => Общие вопросы => Тема начата: alex-v от Ноябрь 09, 2010, 10:50



Название: QRegExp - все вхождения
Отправлено: alex-v от Ноябрь 09, 2010, 10:50
Дана строка с текстом
   QString str;
и регулярное выражение для поиска в этой строке:
   QRegExp rx;

Как в этой строке все найденные с помощью rx подстроки обернуть тегами <b></b> ?



Название: Re: QRegExp - все вхождения
Отправлено: SimpleSunny от Ноябрь 09, 2010, 14:53
Цитировать
For regular expressions containing capturing parentheses, occurrences of \1, \2, ..., in after are replaced with rx.cap(1), cap(2), ...

Код
C++ (Qt)
    QString t = "A <i>bon mot</i>.";
    t.replace(QRegExp("<i>([^<]*)</i>"), "\\emph{\\1}");
    // t == "A \\emph{bon mot}."


Название: Re: QRegExp - все вхождения
Отправлено: alex-v от Ноябрь 09, 2010, 17:24
спасибо.
Пробовал я как-то этот пример из документации. Он не работает... в строке вместо cap(0), cap(1)  и т.д. просто заменяется на текст \1 , \2  и т.д.