StrFindRegEx
StrFindRegEx(alpha1, alpha2, int3[, int4[, var int5[, var int6]]) : int
Reguläre Ausdruck in einer Zeichenkette suchen
Details
- alpha1: Zu durchsuchende Zeichenkette
- alpha2: Regulärer Ausdruck
- int3: Startposition
- int4:
- Optionen (optional):
_StrCaseIgnore
- var int5: Länge der gefundenen Zeichenkette (optional)
- var int6: Bei Suche von mehreren Ausdrücke, Rückgabe der Gruppe
- Resultat:
intPosition des Suchwerts - Siehe: Verwandte Befehle ,
StrFind ()
Diese Funktion durchsucht (alpha1) mit Hilfe des regulären Ausdrucks (alpha2). Sofern eine Entsprechung von (alpha2) in (alpha1) vorhanden ist, wird als Resultat die Position der Entsprechung in (alpha1) zurückgeliefert. Wurde (alpha2) nicht gefunden, ist das Resultat 0. Optional kann als Suchwert eine ganze Reihe von Ausdrücke übergeben werden. Die Auflistung wird in der Form '(Ausdruck A)|(Ausdruck B)|(Ausdruck C) ...' angegeben. Findet sich eine Entsprechung, wird in (int6) die Gruppe ausgegeben. Für (Ausdruck A) 1, für (Ausdruck B) 2, usw. Sofern ein Match vorliegt, enthält var int6 einen Wert < 0, ansonsten ist das Argument 0.
Mit (int3) wird das Intervall für die Suche definiert. Die Suche beginnt ab dieser Position.
Folgende Optionen (int4) sind zulässig:
_StrCaseIgnoreBei der Suche wird die Groß/-Kleinschreibung nicht beachtet.
In(int5) wird, sofern eine Variable angegeben wurde, die Länge der gefundenen Zeichenkette zurück gegeben.
In(int6) wird, sofern eine Variable angegeben wurde, einen Wert > 0 ausgegeben, der die ID der Gruppe entspricht zurück gegeben. Wird keiner der regulären Ausdruck gefunden, wird 0 ausgegeben.
Wird als Suchstring eine leere Zeichenkette angegeben, wird diese in jedem Fall gefunden.
Beispiele:
// Durchsucht einen Text nach mehreren Ausdrücke
tStr # 'the quick brown fox jumps over the lazy dog';
tPattern # '(fox)|(dog)';
tMatchPos # StrFindRegEx(tStr, tPattern, 1,0, var tMatchLen, var tGroup); // tGroup = 1
tStr # 'the quick brown fox jumps over the lazy dog';
tPattern # '(xyz)|(dog)';
tMatchPos # StrFindRegEx(tStr, tPattern, 1,0, var tMatchLen, var tGroup); // tGroup = 2
Fehlerwerte:
Folgende Fehlerwerte können von dem Befehl zurückgegeben werden:
- Fehlerwert: Bedeutung
_ErrRegExRuleSyntax: Syntaxfehler im regulären Ausdruck_ErrRegExBadEscapeSequence: Nicht aufgelöste Escape-Sequenz im Ausdruck_ErrRegExPropertySyntax: Ungültige Unicode-Eigenschaft_ErrRegExNotSupported: Verwendung einer Funktion, die nicht unterstützt wird_ErrRegExMismatchedParentheses: Falsch verschachtelte Klammern im regulären Ausdruck_ErrRegExNumberTooBig: Dezimalzahl zu groß_ErrRegExBadInterval: Fehler im {min,max} Intervall_ErrRegExMaxLtMin: Im Intervall {min,max} ist max kleiner als min_ErrRegExInvalidBackRef: Rückbezug auf eine nicht vorhandene Referenz_ErrRegExInvalidFlag: Ungültiger Modus_ErrRegExLookBehindLimit: Rückschau Ausdrücke müssen eine beschränkte maximale Länge haben_ErrRegExSetContainsString: Reguläre Ausdrücke können keine UnicodeSets mit Zeichenketten beinhalten_ErrRegExMissingCloseBracket: Fehlende schließende Klammer in einem Klammerausdruck_ErrRegExInvalidRange: In einer Zeichenmenge [x-y] ist x größer als y_ErrRegExStackOverflow: Stapelüberlauf in der Ablaufverfolgung des regulären Ausdrucks