Completely rewritten expression parsing code, and traits class support;
now conforms to the standardization proposal.
Breaking Change: The syntax options that can be passed to basic_regex constructors
have been rationalized. The default option (perl) now has a value of zero,
and it is now clearly documented which options apply to which regular expression
syntax styles (perl, POSIX-extended, POSIX-basic etc). Some of the more
esoteric options have now been removed, so there is the possibility that
existing code may fail to compile: however equivalent functionality should
still be available.
Breaking Change: POSIX-extended and POSIX-basic regular expressions now
enforce the letter of the POSIX standard much more closely than before.
Added support for (?imsx-imsx) constructs.
Added support for lookbehind expressions (?<=positive-lookbehind) and
Added support for conditional expressions (?(assertion)true-expresion|false-expression).
Added MFC/ATL string wrappers.
Added Unicode support; based on ICU.
Changed newline support to recognise \f as a line separator (all character
types), and \x85 as a line separator for wide characters / Unicode only.
Added a new format flag format_literal that treats the replace string as
a literal, rather than a Perl or Sed style format string.
Errors are now reported by throwing exceptions of type regex_error. The
types used previously - bad_expression and bad_pattern - are now just typedefs
for regex_error. Type regex_error has a couple of new members: code() to
report an error code rather than a string, and position() to report where
in the expression the error occured.
Completely rewritten pattern matching code - it is now up to 10 times faster
Deprecated all interfaces that are not part of the regular expression standardization
Added regex_iterator and regex_token_iterator .
Added support for Perl style independent sub-expressions.
Added non-member operators to the sub_match class, so that you can compare
sub_match's with strings, or add them to a string to produce a new string.
Added experimental support for extended capture information.
Changed the match flags so that they are a distinct type (not an integer),
if you try to pass the match flags as an integer rather than match_flag_type
to the regex algorithms then you will now get a compiler error.