使用boost :: algorithm :: split_regex拆分字符串

时间:2013-08-09 15:03:32

标签: c++ boost-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("(?:[^\\\\]);")

有什么建议吗?提前谢谢。

1 个答案:

答案 0 :(得分:2)

您需要像这样使用negative lookbehind (?<!regex)

(?<!\\\\);