$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: John Maddock (john_at_[hidden])
Date: 2005-07-18 05:11:05
>I found another problem, this time, I'm afraid, without a workaround:
>
> regex: (?<=^).{2}|(?<=^...).{2}
> string: 1234567890
>
> I get, using boost::regex, only one match:
>
> 12
>
> whereas, for example, .Net Regex engine expectedly finds
>
> 12
>
> and
>
> 45
>
> Is this a bug? If so, any hopes for fixing it in 1.33?
Hmm, I guess it is a bug, and it's unfixable for 1.33 - it's too close to 
release for one thing, for another I don't know how to fix it at present: it 
happens because once the "12" match has been found, searching continues from 
"34567890", so the matcher doesn't "know" that there are preceding 
characters before that, that could be matched with the lookbehind.  I'd have 
to start introducing new API's, and some new internals for the regex 
iterators in order to fix this :-(
Thanks for the report, as soon as 1.33 is out I'll try and deal with this.
John.