#include <iostream>
#include <regex>
#include <sstream>
#include <string>
#include <vector>
using namespace std;
int main() {
string item{"text1,tex2,blah,"};
regex re{"((?:[^\\\\,]|\\\\.)*?)(?:,|$)"};
vector<string> m_vecFields{sregex_token_iterator(item.begin(), item.end(), re, 1), sregex_token_iterator()};
for(const auto& i : m_vecFields) cout << "- " << i << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8cmVnZXg+CiNpbmNsdWRlIDxzc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CglzdHJpbmcgaXRlbXsidGV4dDEsdGV4MixibGFoLCJ9OwoJcmVnZXggcmV7IigoPzpbXlxcXFwsXXxcXFxcLikqPykoPzosfCQpIn07Cgl2ZWN0b3I8c3RyaW5nPiBtX3ZlY0ZpZWxkc3tzcmVnZXhfdG9rZW5faXRlcmF0b3IoaXRlbS5iZWdpbigpLCBpdGVtLmVuZCgpLCByZSwgMSksIHNyZWdleF90b2tlbl9pdGVyYXRvcigpfTsKCQoJZm9yKGNvbnN0IGF1dG8mIGkgOiBtX3ZlY0ZpZWxkcykgY291dCA8PCAiLSAiIDw8IGkgPDwgZW5kbDsKCXJldHVybiAwOwp9