string.gmatch (s, patrón)

Devuelve una función iteradora que, cada vez que es llamada, devuelve la siguiente captura de patrón sobre la cadena s.

Si ' pattern ' no especifica ninguna captura, se produce la coincidencia completa en cada llamada.

Como ejemplo, el siguiente bucle
s = "hello world from Lua"
for w in string.gmatch(s, "%a+") do
print(w)

end
iterará sobre todas las palabras de la cadena ' s, imprimiendo una por línea. El siguiente ejemplo recoge todos los pares ' key=value de la cadena dada en una tabla:
t = {}
s = "from=world, to=Lua"

for k, v in string.gmatch(s, "(%w+)=(%w+)") do t[k] = v

end

Para esta función, un '^' al principio de un patrón no funciona como ancla, ya que impediría la iteración.