2013-09-27 2 views
0

내 프로그램에서 부스트 1.54 라이브러리를 사용하고 있습니다. 내 임무는 문자열의 일부 패턴을 확장하는 것입니다.지정 방법} 부스트 정규 표현식 (중괄호 닫기)?

하나 개 이러한 경우는 닫는 중괄호 } 문자열에서 발견되면 내 코드에서 다음과 같은 정규식을 작성했다 >

로 교체합니다.

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

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

내 코드가 올바르게 컴파일됩니다. 하지만 내 프로그램 충돌 그것은 다음과 같은 예외

Compress.exe에서 0x7599c41f에서

처리되지 않은 예외와 충돌 첫 번째 문 발견했을 때 Microsoft C++ 예외 : 부스트 :: exception_detail :: clone_impl> 0x0018fa54

@를

}은 특별한 기호이므로 나는 \ 기호로 이스케이프 처리했습니다.

아무도 문제를 여기에 말할 수 있습니까?

답변

1

부스트를 위해 }을 이스케이프 처리했으나 컴파일러의 경우 \ 이스케이프 문자도 이스케이프 처리해야합니다.

boost::wregex rightbrace(L"\\}"); 
+0

@Jonathan Potter에게 감사드립니다. 그것은 내 문제를 해결했다. –