我在我的程序中使用了boost 1.54库。我的任务是扩展字符串中的一些模式。
一个这样的例子是,如果在字符串中找到右大括号}
,请将其替换为>
我在代码中编写了以下正则表达式。
boost::wregex rightbrace(L"}"); // replace this by >
strText = boost::regex_replace(strText, rightbrace, L">");
我的代码编译正常。但是我的程序在遇到第一个语句时崩溃,它崩溃并出现以下异常
压缩.exe中0x7599c41f时未处理的异常:Microsoft C++异常:boost::exception_detail::clone_impl> @ 0x0018fa54
由于}
是一个特殊的符号,我用符号逃脱了它。
谁能告诉我这里有什么问题?
您已经转义了 boost 的}
,但您还需要转义编译器的转义字符。
boost::wregex rightbrace(L"\}");