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)
enditeriert ü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.