|
Boost : |
From: Jan Hermelink (Jan.Hermelink_at_[hidden])
Date: 2005-07-13 13:59:02
<Jan.Hermelink_at_[hidden]> wrote:
>> It looks more like a bug than by design if you ask me.
>I don't think so - this behaviour is specified in the standardization
>proposal.
>To quote from
>http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1429.htm,
>Chapter "RE.8.2 Template class regex_token_iterator":
>
>"If the end of sequence is reached (regex_search returns false), the
>iterator becomes equal to the end-of-sequence iterator value, unless
the
>sub-expression being enumerated has index -1: In which case the
iterator
>enumerates one last string that contains all the characters from the
end
>of the last regular expression match to the end of the input sequence
>being enumerated, provided that this would not be an empty string."
>
>!!! "provided that this would not be an empty string" !!!
> How about this string: "/abc/abc".
> Would this result in "", "abc", "abc"?
Yes
> Yet "abc/abc/" would result in "abc", "abc"?
Yes
> That seems terribly unbalanced to me, and this is not the behavior I
would expect.
Yes, you may have a point here.
Or is it somewhat modeled after the C++ initializer syntax:
{ a, b, } is the same as { a, b }
but { , a, b } isn't the same ...
Maybe John can commence?
Jan
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk