#include <iostream>
#include <regex>
#include <string>
#include <vector>
using namespace std;
int main() {
const auto foo = "aaa&bbb*ccc%ddd&eee"s;
const regex re{ "((?:^|[&*%])[^&*%]*)" };
const vector<string> bar{ sregex_token_iterator(cbegin(foo), cend(foo), re, 1), sregex_token_iterator() };
for(const auto& i : bar) cout << i << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8cmVnZXg+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDx2ZWN0b3I+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICBjb25zdCBhdXRvIGZvbyA9ICJhYWEmYmJiKmNjYyVkZGQmZWVlInM7CiAgICBjb25zdCByZWdleCByZXsgIigoPzpefFsmKiVdKVteJiolXSopIiB9OwogICAgY29uc3QgdmVjdG9yPHN0cmluZz4gYmFyeyBzcmVnZXhfdG9rZW5faXRlcmF0b3IoY2JlZ2luKGZvbyksIGNlbmQoZm9vKSwgcmUsIDEpLCBzcmVnZXhfdG9rZW5faXRlcmF0b3IoKSB9OwogICAgCiAgICBmb3IoY29uc3QgYXV0byYgaSA6IGJhcikgY291dCA8PCBpIDw8IGVuZGw7Cn0=