On Nov 8, 2013, at 10:56 PM, Xueming Shen <[email protected]> wrote:
> On 11/08/2013 01:19 AM, Paul Sandoz wrote:
>> Hi Sherman.
>>
>> When you say:
>>
>> + * of the stream. A zero-width match at the beginning however never
>> produces
>> + * such empty leading substring.
>>
>> Is it possible to have a starting sequence of one or more zero-width matches?
>
> The matcher.find() always increases its "next find start position" at least
> one
> as showed in Matcher.find() impl ("first" starts from -1), so the
> matcher.find()
> should keep going forward, never produce more than one zero-length substring.
>
OK.
> Matcher:
> public boolean find() {
> int nextSearchIndex = last;
> if (nextSearchIndex == first)
> nextSearchIndex++;
> ...
>
> The webrev has been updated to use your optimized version in splitAsStream().
>
> http://cr.openjdk.java.net/~sherman/8027645/webrev/
+1
I still think it would be useful to add a comment at the relevant code location
about zero-width match behaviour.
Paul..