0

我在我的程序中使用 boost 1.54 库。我的任务是扩展字符串中的一些模式。

一个这样的例子是,如果}在字符串中找到右大括号,请将其替换为>

我在我的代码中编写了以下正则表达式。

boost::wregex rightbrace(L"\}"); // replace this by >

strText = boost::regex_replace(strText, rightbrace, L">");

我的代码编译正常。但是我的程序在遇到第一条语句时崩溃,它崩溃并出现以下异常

Compress.exe 中 0x7599c41f 处未处理的异常:Microsoft C++ 异常:boost::exception_detail::clone_impl > @ 0x0018fa54

因为}是一个特殊的符号,所以我用\符号转义了它。

谁能告诉我这里有什么问题?

4

1 回答 1

1

您已经逃脱了}for boost,但您还需要\为编译器逃脱转义字符。

boost::wregex rightbrace(L"\\}");
于 2013-09-27T05:48:40.740 回答