#include <iostream>
#include <string>
#include <vector>
#include <regex>
std::vector<std::string> extractBracketedContent(const std::string& text) {
std::vector<std::string> result;
std::regex pattern(R"(\[(.*?)\])");
auto words_begin = std::sregex_iterator(text.begin(), text.end(), pattern);
auto words_end = std::sregex_iterator();
for (std::sregex_iterator i = words_begin; i != words_end; ++i) {
result.push_back((*i)[1].str());
}
return result;
}
int main() {
std::string input = "This is a [sample] string with [multiple] square brackets.";
std::vector<std::string> extracted = extractBracketedContent(input);
for (const auto& item : extracted) {
std::cout << item << std::endl;
}
}
/*
run:
sample
multiple
*/