>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.


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to