|
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). Currently there are some differences in how the regular expression traits classes are defined, these will be fixed in a future release.
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
(?imsx-imsx)
(?<=pattern)
(?<!pattern)
(?{code})
(??{code})
(?(condition)yes-pattern) and (?(condition)yes-pattern|no-pattern)
These embarrassments / limitations will be removed in due course, mainly dependent upon user demand.
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 17 May 2003
© Copyright John Maddock 1998- 2003
Permission to use, copy, modify, distribute and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. Dr John Maddock makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.