|
|
Boost.RegexStandards Conformance |
|
Boost.regex is intended to conform to the regular expression standardization proposal, which will appear in a future C++ standard technical report (and hopefully in a future version of the standard).
All of the ECMAScript regular expression syntax features are supported, except that:
Negated class escapes (\S, \D and \W) are not permitted inside character class definitions ( [...] ).
The escape sequence \u matches any upper case character (the same as [[:upper:]]) rather than a Unicode escape sequence; use \x{DDDD} for Unicode escape sequences.
Almost all Perl features are supported, except for:
| \N{name} | Use [[.name.]] instead. |
| \pP and \PP | Use [[:P:]] instead. |
| (?{code}) | Not implementable in a compiled strongly typed language. |
| (??{code}) | Not implementable in a compiled strongly typed language. |
All the POSIX basic and extended regular expression features are supported, except that:
No character collating names are recognized except those specified in the POSIX standard for the C locale, unless they are explicitly registered with the traits class.
Character equivalence classes ( [[=a=]] etc) are probably buggy except on Win32. Implementing this feature requires knowledge of the format of the string sort keys produced by the system; if you need this, and the default implementation doesn't work on your platform, then you will need to supply a custom traits class.
Revised 28 June 2004
© Copyright John Maddock 1998- 2004
Use, modification and distribution are subject to the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)