std.regex

Reguläre Ausdrücke mit NFA-basiertem Bytecode-Interpreter. Unterstützt Match (ganzer String), Search (erstes Vorkommen), Replace und Capture-Gruppen (bis zu 32, CaptureText). Flags: IGNORE_CASE (Groß-/Kleinschreibung ignorieren), ANCHORED (nur am Anfang), MULTILINE ('^'/$ matchen Zeilengrenzen). Sowohl einfache API (Match, Search, Replace) als auch kompilierte Varianten für Wiederverwendung.

Einsatzbereiche: Eingabevalidierung (E-Mail, Telefon, URLs), Log-Parsing, Template-Ersetzung, Protokoll-Analyse, SEO-Content-Analyse.

Autor: Andreas Röne
Copyright: 2024-2025 Andreas Röne


Imports

Funktionen

Signatur Sichtbarkeit Beschreibung
isAlpha(c: int64): int64 pub Prüft ob Zeichen ein Buchstabe ist
isDigit(c: int64): int64 pub Prüft ob Zeichen eine Ziffer ist
isAlnum(c: int64): int64 pub Prüft ob Zeichen alphanumerisch ist
isWhitespace(c: int64): int64 pub Prüft ob Zeichen ein Leerzeichen ist
isWordChar(c: int64): int64 pub Prüft ob Zeichen ein Wortzeichen ist
atomLen(pattern: pchar, start: int64): int64 pub Berechnet Länge eines Regex-Atoms
atomMatches(pattern: pchar, start: int64, c: int64): int64 pub Prüft ob Zeichen auf Regex-Atom passt
matchHere(pattern: pchar, pIdx: int64, text: pchar, tIdx: int64): int64 pub Interner rekursiver Regex-Matcher
regexSearchFrom(pattern: pchar, text: pchar, startIdx: int64): int64 pub Sucht Muster ab gegebenem Startindex
_RegexMatch(pattern: pchar, text: pchar): bool pub Interne Match-Implementierung
_RegexSearch(pattern: pchar, text: pchar): int64 pub Interne Search-Implementierung
_RegexReplace(pattern: pchar, text: pchar, replacement: pchar): int64 pub Interne Replace-Implementierung
Match(pattern: pchar, text: pchar): bool pub Prüft ob gesamter Text zum Muster passt
Search(pattern: pchar, text: pchar): int64 pub Sucht erstes Vorkommen des Musters
Replace(pattern: pchar, text: pchar, replacement: pchar): int64 pub Ersetzt erstes Vorkommen durch Ersatztext

Konstanten

Name Typ Wert Sichtbarkeit
REGEX_FLAG_IGNORE_CASE int64 1 priv
REGEX_FLAG_ANCHORED int64 2 priv
REGEX_FLAG_MULTILINE int64 4 priv
REGEX_MAX_CAPTURE_SLOTS int64 32 priv
REGEX_STACK_MAX int64 256 priv

Typen

RegexProgramInfo (struct)

Feld Typ
instrStart int64
classCount int64
captureSlots int64

RegexFrame (struct)

Feld Typ
pc int64
pos int64
caps array[32]int64
Signatur Sichtbarkeit Beschreibung
regexReadU8(prog: pchar, idx: int64): int64 priv Liest ein Byte aus kompiliertem Bytecode
regexReadU32(prog: pchar, idx: int64): int64 priv Liest 4 Bytes aus kompiliertem Bytecode
regexFoldChar(c: int64): int64 priv Wandelt Zeichen für Case-Insensitive-Matching um
regexParseInfo(prog: pchar): RegexProgramInfo priv Liest Metadaten aus kompiliertem Regex-Programm
regexClassOffset(prog: pchar, classIndex: int64): int64 priv Berechnet Offset einer Zeichenklasse im Bytecode
regexClassMatches(prog: pchar, classIndex: int64, c: int64, flags: int64, priv Prüft ob Zeichen zu Zeichenklasse passt
regexRunAt(prog: pchar, progLen: int64, info: RegexProgramInfo, text: pchar, priv Führt NFA-Interpreter an gegebener Position aus
RegexSearchCompiledEx(prog: pchar, progLen: int64, text: pchar, pub Sucht in Text mit Flags und Capture-Gruppen
RegexMatchCompiledEx(prog: pchar, progLen: int64, text: pchar, pub Matcht gesamten Text mit Flags und Captures
RegexSearchCompiled(prog: pchar, progLen: int64, text: pchar): int64 pub Sucht erstes Vorkommen mit kompiliertem Programm
RegexMatchCompiled(prog: pchar, progLen: int64, text: pchar): bool pub Matcht gesamten Text mit kompiliertem Programm
RegexReplaceCompiledEx(prog: pchar, progLen: int64, text: pchar, pub Ersetzt Treffer mit Flags und kompiliertem Programm
RegexReplaceCompiled(prog: pchar, progLen: int64, text: pchar, pub Ersetzt Treffer mit kompiliertem Programm
RegexMatchEx(pattern: pchar, text: pchar, flags: int64): bool pub Matcht Text mit Muster und Flags
RegexSearchEx(pattern: pchar, text: pchar, flags: int64): int64 pub Sucht Muster in Text mit Flags
RegexReplaceEx(pattern: pchar, text: pchar, replacement: pchar, pub Ersetzt Treffer mit Flags
RegexReplaceInto(dest: pchar, pattern: pchar, text: pchar, pub Schreibt Ergebnis in vorhandenen Puffer
RegexCaptureCount(): int64 pub Gibt Anzahl der letzten Capture-Gruppen zurück
RegexCaptureStart(group: int64): int64 pub Gibt Startposition einer Capture-Gruppe zurück
RegexCaptureEnd(group: int64): int64 pub Gibt Endposition einer Capture-Gruppe zurück
RegexCaptureText(dest: pchar, text: pchar, group: int64): pchar pub Kopiert Capture-Gruppen-Text in Puffer
MatchEx(pattern: pchar, text: pchar, flags: int64): bool pub Kurzform von RegexMatchEx
SearchEx(pattern: pchar, text: pchar, flags: int64): int64 pub Kurzform von RegexSearchEx
ReplaceEx(pattern: pchar, text: pchar, replacement: pchar, pub Kurzform von RegexReplaceEx
ReplaceInto(dest: pchar, pattern: pchar, text: pchar, pub Kurzform von RegexReplaceInto
CaptureCount(): int64 pub Kurzform von RegexCaptureCount
CaptureStart(group: int64): int64 pub Kurzform von RegexCaptureStart
CaptureEnd(group: int64): int64 pub Kurzform von RegexCaptureEnd
CaptureText(dest: pchar, text: pchar, group: int64): pchar pub Kurzform von RegexCaptureText