hope this fix your issue A lookbehind (or lookahead) is a zero-width assertion — that is, it matches a zero-length string at any point where the assertion is true. In particular, this means that, if you have two consecutive lookbehind (or lookahead) assertions in your regexp, they will only match if both of them match at the same point.
I hope this helps you . C++11 uses ECMAScript's (ECMA-262) regex syntax, so it will not have look-behind (other flavors of regex that C++11 supports also doesn't have look-behind). If your use case requires the use of look-behind, you may consider using Boost.Regex instead.
regex search&replace a variable string including a regex statement