$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: Johan Nilsson (r.johan.nilsson_at_[hidden])
Date: 2006-05-22 07:53:15
Hi,
I'd like to replace all parts of a string with the results of calling a
function, passing the match as a parameter. Some pseudo-code:
---
std::string replacer(smatch& s)
{
return std::getenv(s[1].c_str());
}
std::string const input = "This is ${USER} on ${HOST}";
boost::regex const re("\\$\\{([^\\}]+)\\}");
std::string result = boost::regex_replace(input, re,
boost::bind(&replacer));
assert("This is Me on MyWorkstation" == result);
---
(I'm sure there are errors above, but I hope you get the general idea).
Any easy way to do something similar?
// Johan