|
On 16/11/13 20:59, Michael Savage wrote:
Hi lua-l, ( "[a] [b] c" ):match( "%[(.-)%] c" ) -> "a] [b"From http://www.lua.org/manual/5.1/manual.html#5.4.1 orhttp://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
It is not, as it returns the first match [1]. If you wanted to capture the last sequence in square brackets you could prefix it with a greedy match:
( "[a] [b] c" ):match( ".*%[(.-)%] c" ) [1] http://www.lua.org/manual/5.2/manual.html#pdf-string.match -- Liam