
KEN RODE wrote:
I've been struggling with a problem with using regex_replace this afternoon, and I would appreciate some pointers on properly using the regex package.
I've got a file that is similar to a CSS style sheet (it's actually a Qt style sheet) that contains color entries that similar to: rgb( 200, 255, 200 ). I've already successfully written some code that finds these patterns and replaced them with statically determined text, just to verify that I was able to locate them all properly.
I have an application in which the color scheme of the user interface (specified in the style sheet) has to change between a daytime and nighttime color scheme. The nighttime color scheme is derived from the daytime color scheme by reducing the luminance of the colors. I'd like to generate the nighttime color scheme from the daytime scheme by extracting the components of the color and applying a calculation to them, then replacing the original text with the new text.
The examples on the Boost site for regex_replace all demonstrate replacement with static text. I suspect that I have to do some sort of combination using regex_replace, regex_iterator, and match_results, but I can't quite wrap my head around the documentation for these classes to see how they interoperate. I would appreciate some pointers as to how to proceed.
This sort of this is much more easily accomplished with Boost.Xpressive,
which permits little lambda-like substitution expressions. Here is a
little program to get you started. It computes a new sub substitution
string by subtracting each rgb value from 300.
#include <string>
#include <iostream>
#include