Разбить строку с помощью boost:: алгоритма::split_regex

Я пытаюсь разбить строку с помощью ; как разделитель, но не когда он экранирован \;, Строка может содержать символы, цифры и вложенные кавычки. В настоящее время я использую Boost::gorithm::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 ответ

Решение

Вы будете хотеть использовать отрицательный взгляд сзади (?<!regex) как это

(?<!\\\\);

Другие вопросы по тегам