[luatex] [OT] The consumption of an input string.
zappathustra at free.fr
Mon Jun 17 16:54:47 CEST 2013
luigi scarso <luigi.scarso at gmail.com> a écrit:
> On Mon, Jun 17, 2013 at 2:43 PM, Paul Isambert <zappathustra at free.fr> wrote:
> > Hello all,
> > This is not really a LuaTeX question, but I ask it here anyway since a
> > lot of knowledgeable people read this list.
> > I’ve been surprised to discover that
> > print(string.gsub('abc', '.*', '(%0)'))
> > returns
> > (abc)()
> > (similarly, “string.gmatch('abc', '.*')” returns two matches). I’d
> > expect
> > (abc)
> myabe this can help
> > print(string.gsub("abc","%s*","(%0)"))
> ()a()b()c() 4
> > print(string.gsub("abc","%S*","(%0)"))
> (abc)() 2
> A pattern item can be
> a single character class followed by '*', which matches 0 or more
> repetitions of characters in the class. These repetition items will always
> match the longest possible sequence;
Thank you Luigi, but “*” has the same definition in other languages,
including those where there is no match on a final empty string.
As for your first example, all languages behave the same as far as I
can tell, as expected.
More information about the luatex