$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: John Maddock (john_at_[hidden])
Date: 2004-05-12 05:29:43
> Regular expressions "[\u]" and "\u", unlike "[[:upper:]]", will not match
any letters when the icase flag is set. Similarly, "\U" will match
anything. Expressions "\l" and "\L" seem to be fine due to the
lower_case_map[] translation.
>
> My suggestion would be to replace
>
> classes.push(traits_type::char_class_upper);
>
> and the like by
>
> classes.push((_flags & regex_constants::icase) ?
> traits_type::char_class_alpha :
> traits_type::char_class_upper);
>
> in the 'syntax_u/U/l/L' cases in set_compile() and set_expression(). This
approach is currently taken in the 'syntax_open_set' case in set_compile().
>
> John may have a different fix in mind, though. :-)
Thanks, I'm actually in the process of rewriting all the expression parsing
code, so yes the fix will be different, although for the time being, I'll
commit the fix you suggested.
John.