lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


No, it's not a bug -- the initial %[ is still greedy. It wants to
capture the first [ it finds. The subsequent non-greedy .- then
captures the fewest possible characters that still satisfies a match
in its position -- but that position has already been determined by
the pattern leading up to it.

/s/ Adam

On Sat, Nov 16, 2013 at 12:59 PM, Michael Savage <mikejsavage@gmail.com> wrote:
> Hi lua-l,
>
> ( "[a] [b] c" ):match( "%[(.-)%] c" )
> -> "a] [b"
>
> >From http://www.lua.org/manual/5.1/manual.html#5.4.1 or
> http://www.lua.org/manual/5.2/manual.html#6.4.1:
>
>> a single character class followed by '-', which also matches 0 or more
>> repetitions of characters in the class. Unlike '*', these repetition
>> items will always match the shortest possible sequence;
>
> The shortest possible sequence for the above is "b". Is this a bug?
>
> Mike
>