преобразование из QString в wstring с добавлением дополнительной escape-последовательности - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть QString как

QString qReplaceByText("**\\g<char>**");

Если я попытаюсь преобразовать его в wstring, заменив \ на \\

std::wstring wReplaceByText = qReplaceByText.toStdWString();

qReplaceByText становится

**\\\\g<char>**

Как мне избежать этого?

Это мой фрагмент кода

           std::wstring searchText(L"(?P<char>.)(?P=char)");;
            wsregex regExp;
            std::wstring strOut;
            try
            {
                regExp = wsregex::compile( searchText, boost::xpressive::icase );

                std::wstring wsObjectName =  L"tweet" ;

                std::wstring wReplaceByText = qReplaceByText.toStdWString();

                strOut.resize( wsObjectName.length() + wReplaceByText.length() );
                std::wstring::iterator itOut = strOut.begin();
                boost::xpressive::regex_replace(itOut, wsObjectName.begin() , wsObjectName.end(), regExp, wReplaceByText,  regex_constants::format_perl );
            }
...