2013-08-09 4 views
0

;을 구분 기호로 사용하여 문자열을 분할하려하지만이 코드가 이스케이프 처리 될 때 \;이 아닌 문자열을 분할하려고합니다. 문자열에는 문자, 숫자 및 중첩 된 따옴표가 포함될 수 있습니다. 나는 현재 부스트 :: 알고리즘을 사용하고 있습니다 : split_regex을과 같이 : 나는 부정을 사용하려고했지만 그 영향을주지 않았다boost :: algorithm :: split_regex를 사용하여 스플릿 문자열

string data = "hello; world; 100444; \"Hello \\; world\";"; 
vector<string> data_vec; 

boost::algorithm::split_regex(data_vec, data, boost::regex("[^\\\\];"); 

. boost::regex("(?:[^\\\\]);")

제안 사항? 미리 감사드립니다.

답변

2

당신이

(?<!\\\\);

같은 negative lookbehind (?<!regex)를 사용하는 것이 좋습니다