The C++ standard library as defined in the C++11 standard provides support for regular expressions in the <regex> header. Prior to C++11, <regex> was part of the TR1 extension to the C++ standard library. The <regex> header provides various template classes that are very flexible, but not the easiest to use. Fortunately, RegexBuddy knows exactly which template instantiations and which flags you need.
First, use RegexBuddy to define a regex or retrieve a regexp saved in a RegexBuddy library. Rely on RegexBuddy’s clear regex analysis, which is constantly updated as you build the pattern, rather than dealing with the cryptic regex syntax on your own. Detailed help on that syntax is always only a click away.
std::regex supports six different regex flavors or grammars. RegexBuddy fully supports all of them. Just tell RegexBuddy which grammar to use to create and test your regular expression. You can convert regexes from one grammar to another. You can even convert regexes that were created for any other regex library or programming language to any of the six std::regex grammars.
If you’re writing a code library that needs to work with various C++ compilers, compare your regex between the std::regex implementation of those compilers. RegexBuddy knows all the features and all the bugs in the various versions of the Dinkumware library included with Visual Studio 2008 through 2022, C++Builder XE3 through XE8, and C++Builder 10 Seattle through C++Builder 11 Alexandria.
std::regex behaves differently when processing strings or arrays of char versus wchar_t. With RegexBuddy you can compare and convert between the two variants for all the supported compilers via the separate application choices for std::regex and std::wregex.
If you created a new regular expression, test and debug it in RegexBuddy before using it in your source code. Test each regex in RegexBuddy’s safe sandbox without risking precious data. Quickly apply the regex to a wide variety of input and sample data, without having to produce that input through your application.
Finally, let RegexBuddy generate a source code snippet that you can copy and paste directly into whichever IDE or C/C++ code editor you use. Just choose what you want to use the regex for, and a fully functional code snippet is ready. You can change the names of variables and parameters to suit your naming style or the current situation, which RegexBuddy automatically remembers.
Don’t bother trying to remember all the std::regex and std::wregex template instantiations, their member functions, and the parameters they require. And don’t worry about properly escaping backslashes and quotes. Just tell RegexBuddy what you want to do, and you will get the proper C++ code straight away.