Lua:
Reguläre Ausdrücke verwenden
Wie:
Lua unterstützt reguläre Ausdrücke nicht nativ auf die gleiche Weise wie Sprachen wie Perl oder Python. Stattdessen bietet es Musterabgleich-Funktionen, die viele gängige Anwendungsfälle von regulären Ausdrücken abdecken. Für eine vollwertige Unterstützung regulärer Ausdrücke kann jedoch eine externe Bibliothek, wie lrexlib
, verwendet werden.
Grundlegende Musterabgleiche in Lua:
Lua bietet ein leistungsstarkes System für Musterabgleiche, das Sie für einfache Substitutionen und Suchvorgänge nutzen können:
-- Einfache Suche
local str = "Hello, World!"
if string.find(str, "World") then
print("Treffer gefunden!")
end
-- Ausgabe: Treffer gefunden!
-- Einfache Substitution
local s = string.gsub("Lua ist großartig!", "großartig", "fantastisch")
print(s)
-- Ausgabe: Lua ist fantastisch!
Erfassen von Teilzeichenketten:
Sie können Teile der Zeichenkette erfassen, die den Mustern entsprechen:
local date = "Heute ist der 17.05.2023."
local d, m, y = string.match(date, "(%d+)/(%d+)/(%d+)")
print("Tag:", d, "Monat:", m, "Jahr:", y)
-- Ausgabe: Tag: 17 Monat: 05 Jahr: 2023
Verwenden von lrexlib
für reguläre Ausdrücke:
Um echte reguläre Ausdrücke zu verwenden, können Sie lrexlib
installieren und nutzen. Angenommen, Sie haben es installiert (luarocks install lrexlib-pcre
), können Sie komplexere Musterabgleiche durchführen:
local rex = require 'rex_pcre'
local text = "Der Regen in Spanien bleibt hauptsächlich in der Ebene."
local regex = "\\bS\\w+"
local count, err = rex.gsub(text, regex, function(w)
return w:upper()
end)
if err then
print("Fehler:", err)
else
print("Modifizierter Text:", text)
print("Vorgenommene Substitutionen:", count)
end
-- Beispiel-Ausgabe: Modifizierter Text: Der REGEN in SPANIEN bleibt HAUPTSÄCHLICH in der Ebene.
-- Vorgenommene Substitutionen: 3
Die obigen Beispiele veranschaulichen die grundlegende Verwendung innerhalb des eigenen Musterabgleichsystems von Lua und wie man die Kraft regulärer Ausdrücke über lrexlib
nutzen kann. Ob Sie einfache Zeichenkettenmanipulationen durchführen oder die vollständige Vielseitigkeit regulärer Ausdrücke benötigen, Lua, gemeinsam mit leistungsstarken Bibliotheken, kann Ihren Anforderungen gerecht werden.