29 static const std::regex expression(
"\\$(([A-Za-z0-9_]+)|\\(([A-Za-z0-9_]+)\\))" );
32 auto start = input.begin();
33 auto end = input.end();
35 auto flags = std::regex_constants::match_default;
38 if ( var.empty() ) var =
std::string{what[3].first, what[3].second};
41 boost::algorithm::replace_first( result,
std::string{what[0].first, what[0].second}, env );
43 start = what[0].second;
45 flags |= std::regex_constants::match_prev_avail;