我在我的程序中使用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
由于}
是一个特殊符号,因此我使用\
符号对其进行了转义。
谁能告诉我这里的问题是什么?
答案 0 :(得分:1)
你已经转义了}
以获得提升,但你也需要为编译器转义\
转义字符。
boost::wregex rightbrace(L"\\}");