Reguläre Ausdrücke verwenden

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.