Beispiele mit regulären Ausdrücke
Das Beispielprogramm:
s = "hello world from Lua" for w in string.gfind(s, "%a+") do print(w) end
Das Ergebnis:
hello world from Lua
Beispielprogramm zum selbst testen
%a ist ein Pattern, das für Buchstaben steht. + wiederholt dieses. Ergebnis: Der String wird wortweise ausgegeben.Das Beispielprogramm:
function test_balanced_scan( s ) print( '----> ', s ) for w in string.gfind(s, "%b{}") do print(w) end end test_balanced_scan( "Hallo {schöne und wunderbare} Welt" ) test_balanced_scan( "Hallo {schöne {und} wunderbare} Welt" )
Das Ergebnis:
----> Hallo {schöne und wunderbare} Welt {schöne und wunderbare} ----> Hallo {schöne {und} wunderbare} Welt {schöne {und} wunderbare}
Beispielprogramm zum selbst testen
Mit %b können geschachtelte Klammern analysiert werden. Üblicherweise würde im zweiten Aufruf{schöne {und}
als Ergebnis kommen.
Patterns
Buchstaben definieren sich selbst, ausser sie sind eines der folgenden Zeichen:
^$()%.[]*+-?
Es gibt folgende Zeichenklassen:
- . (ein Punkt) Ein beliebiges Zeichen.
- %a Ein beliebiger Buchstabe
- %c Ein Kontrollzeichen
- %d Eine beliebige Ziffer (digit)
- %l Ein beliebiger Kleinbuchstabe (lower case)
- %p Ein beliebiges Satzzeichen (punctuation)
- %s Ein Leerzeichen (space characters).
- %u Ein beliebiger Großbuchstabe (uppercase).
- %w Ein beliebiges alphanumerisches Zeichen (word-character)
- %x Eine beliebige Hexadezimalziffer.
- %z represents the character with representation 0 ? nil?
- %x Das Zeichen x selbst. (Escape-Mechanismus für Pattern-Zeichen.