0Pricing
Lua Academy · Lektion

Syntax von Lua-Mustern

Lernen Sie Zeichenklassen wie %d, %a und %s, Anker sowie Quantifizierer in Lua-Mustern kennen

Syntax von Lua-Mustern ist eine kostenlose Lua Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Lua Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Lua Academy-Kurs umfasst insgesamt 4 Lektionen.

Lua-Patterns im Vergleich zu regulären Ausdrücken

Lua verwendet eine eigene Pattern-Sprache und keine vollständigen POSIX-regulären Ausdrücke. Sie ist einfacher und schneller, unterstützt jedoch keine Alternativen (|) und keine Lookaheads.

Zeichenklassen

%d Ziffer, %a Buchstabe, %l Kleinbuchstabe, %u Großbuchstabe, %s Leerraum, %p Satzzeichen, %w alphanumerisches Zeichen. Großbuchstaben negieren: %D = keine Ziffer.

Quantifizierer

* null oder mehr (gierig), + mindestens einmal, ? null oder einmal, - null oder mehr (träge/kürzester Treffer).

local s = "hello world"
print(s:match("%a+"))   -- hello (first word)
print(s:match(".-o"))   -- hell (lazy stops early)

Anker

^ verankert das Muster am Anfang der Zeichenkette, $ am Ende.

print(("hello"):match("^h"))     -- h
print(("hello"):match("o$"))     -- o
print(("hello"):match("^world")) -- nil

Zeichensätze mit []

Benutzerdefinierte Zeichenklassen: [aeiou] findet einen beliebigen Vokal, [^aeiou] ein beliebiges Zeichen, das kein Vokal ist, [a-z] Kleinbuchstaben.

local s = "Hello World 123"
print(s:match("[A-Z]"))     -- H
print(s:match("[0-9]+"))    -- 123

Sonderzeichen maskieren

Die Sonderzeichen ( ) . % + - * ? [ ^ $ müssen mit % maskiert werden.

local s = "price: 3.14"
print(s:match("%d+%.%d+"))  -- 3.14 (. escaped to match literal dot)

Der Platzhalter .

. findet ein beliebiges einzelnes Zeichen. Kombinieren Sie ihn mit Quantifizierern: .- ist der träge Treffer für beliebige Zeichen.

print(("abc123"):match("(.-)%d"))  -- abc (lazy, stops at first digit)

Frontier-Muster %f

%f[set] findet eine leere Position zwischen einem Zeichen, das nicht in set enthalten ist, und einem Zeichen, das darin enthalten ist – nützlich für Wortgrenzen.

local s = "hello world foo"
for w in s:gmatch("%f[%a]%a+") do
  print(w)  -- hello, world, foo
end

string.find im Vergleich zu string.match

string.find gibt die Start- und Endindizes (+ Captures) zurück. string.match gibt den gefundenen Text (oder Captures) direkt zurück.

local s = "date: 2025-01-15"
local i, j = s:find("%d%d%d%d%-%d%d%-%d%d")
print(i, j)           -- 7  16
print(s:match("(%d+)-(%d+)-(%d+)"))  -- 2025  01  15

Ausgeglichener Treffer %b

%bxy findet ein ausgeglichenes Zeichenpaar aus x und y. Beispielsweise findet %b() ausgeglichene Klammern einschließlich verschachtelter Klammern.

local s = "func(a, (b+c), d)"
print(s:match("%b()"))  -- (a, (b+c), d)

Einschränkungen von Mustern

Lua-Muster unterstützen keine Alternativen (a|b), Rückverweise, Lookahead/Lookbehind oder benannten Gruppen. Verwenden Sie dafür LPEG oder eine externe Regex-Bibliothek.

Frage zur Mustersyntax

Welches Muster findet eine oder mehrere Ziffern?

Zusammenfassung: Lua-Mustersyntax

Lua-Muster verwenden die Klassen %d %a %s, die Quantifizierer * + ? -, die Anker ^ $, die Zeichensätze [] und %b für ausgeglichene Treffer. Sie sind effizient, unterstützen aber keine Regex-Alternativen.

Häufig gestellte Fragen

Ist die Lektion „Syntax von Lua-Mustern“ kostenlos?

Ja — der vollständige Text von „Syntax von Lua-Mustern“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Lua Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Lua Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Syntax von Lua-Mustern“?

Lernen Sie Zeichenklassen wie %d, %a und %s, Anker sowie Quantifizierer in Lua-Mustern kennen Du übst Lua Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Lua Academy zu starten?

Keine Vorkenntnisse erforderlich. Lua Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Syntax von Lua-Mustern“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Lua Academy-Lektion Code schreiben und ausführen?

Ja. Jede Lua Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Syntax von Lua-Mustern
  2. Captures und string.match
  3. string.gmatch zur Tokenisierung
  4. string.gsub für Transformationen
← Zurück zu Lua Academy