string.gmatch (s, pattern)

Gibt eine Iteratorfunktion zurück, die bei jedem Aufruf die nächsten Captures von pattern über string s zurückgibt.

Wenn ' pattern keine Captures angibt, wird bei jedem Aufruf die gesamte Übereinstimmung hergestellt.

Beispiel: Die folgende Schleife
s = "hello world from Lua"
for w in string.gmatch(s, "%a+") do
print(w)

end
iteriert über alle Wörter aus der Zeichenfolge s und gibt eines pro Zeile aus. Das nächste Beispiel sammelt alle Paare " key=value aus der angegebenen Zeichenkette in einer Tabelle:
t = {}
s = "from=world, to=Lua"

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

end

Für diese Funktion fungiert das Zeichen '^' am Anfang des Musters nicht als Anker, da dies die Iteration verhindern würde.