$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: John Maddock (jm_at_[hidden])
Date: 2003-08-08 05:23:42
>Given that I have a string 's' from somewhere, I'd like to create a
>regular expression where some part must match that string. The problem
>is, the 's' could contain characters that have a special meaning in
>regular expressions. Is there some support function that can provide an
>escaped version of 's'? Something that transforms "my.*string" into
>"my\.\*string"? If there isn't, would it be possible/easy to provide one?
Good question, no there isn't, but how about:
std::string escape_regex(const std::string& s)
{
static const std::regex e("[\\[\\]$\\^|.+*?(){}]");
return regex_merge(s, e, "\\\\$&");
}
Just off the top of my head and untried....
I'll try and think up something more general that works with all the flag
settings though...
John.