str = boost::regex_replace(str, reg, "(?1become1)$2(?3become3)$4", boost::format_all );

其中第一个子表达式更新为become1,第三个子表达式更新为become3。