Zum Hauptinhalt springen

StrFindRegEx

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:

  • _StrCaseIgnore

    Bei 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.

info

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: