Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

IndexRegExGroup - Skript- und Diagrammfunktion

IndexRegExGroup() durchsucht den Eingabestring und gibt die Anfangsposition des n-ten Vorkommens des Musters für den angegebenen zusammengesetzten regulären Ausdruck zurück. Ein optionales viertes Argument count liefert den Wert von n. Erfolgt keine Eingabe, wird 1 verwendet. Die Positionen im String werden von links nach rechts beginnend mit 1 aufsteigend nummeriert. Wenn keine Übereinstimmung gefunden wird, gibt die Funktion 0 zurück.

Diese Funktion führt Regex-Vorgänge durch, bei denen die Groß- und Kleinschreibung beachtet wird. Sie können alternativ die Variante IndexRegExGroupI() verwenden, um Regex-Vorgänge ohne Berücksichtigung der Groß-/Kleinschreibung durchzuführen.

Syntax:  

IndexRegExGroup (text, regex, group [, count])

Rückgabe Datentyp: ganze Zahl

Argumente
Argument Beschreibung
text Der Text des Eingabestrings, in dem Sie nach einem regulären Ausdruck suchen möchten.
regex Der reguläre Ausdruck, der für die Suche im Eingabestring verwendet werden soll.
group

Die Nummer der Gruppe, im Fall eines zusammengesetzten regulären Ausdrucks.

Ein Wert für group von 0 gibt den Index des gesamten Regex zurück. Wenn der reguläre Ausdruck jedoch nur den Index der gesamten Übereinstimmung zurückgeben muss, verwenden Sie stattdessen die Funktion IndexRegEx().

Sie können einen negativen Wert für group angeben, um nach Übereinstimmungen von rechts nach links zu suchen.

count

Die Nummer der Übereinstimmung. Dies ist nützlich, wenn im Text mehrere Übereinstimmungen mit dem regulären Ausdruck gefunden werden können. Geben Sie zum Beispiel den Wert 4 an, um nach der Position der vierten Übereinstimmung zu suchen.

Dies ist ein optionales Argument. Standardwert ist 1, wenn nicht angegeben. Sie können einen negativen Wert angeben, um nach Übereinstimmungen von rechts nach links zu suchen.

Funktionsbeispiele
Beispiel Ergebnis
IndexRegExGroup('abc123','([a-z])([0-9]+)',0) Gibt 3 zurück (die Startposition des vollständigen Regex).
IndexRegExGroup('abc123','([a-z])([0-9]+)',1) Gibt 3 zurück (die Startposition der ersten Gruppe).
IndexRegExGroup('abc123','([a-z])([0-9]+)',2) Gibt 4 zurück (die Startposition der zweiten Gruppe). In dem Regex-Muster der Eingabe entspricht der String ([0-9]+) der zweiten Gruppe.
IndexRegExGroup('ABC123','([a-z])([0-9]+)',1) Gibt 0 zurück, da IndexRegExGroup() zwischen Groß- und Kleinschreibung unterscheidet.
IndexRegExGroupI('ABC123','([a-z])([0-9]+)',1) Gibt 3 zurück. Die Variante IndexRegExI() der Funktion ohne Berücksichtigung von Groß- und Kleinschreibung wird verwendet.

Verwendung

Zu den Anwendungsfällen für diese Funktion gehören:

  • Erkennen, wo bestimmte Textmuster in größeren Textmengen vorkommen. Sie könnten zum Beispiel wissen wollen, wo die Domäne einer E-Mail-Adresse in einer Reihe von langen E-Mail-Nachrichten verwendet wird.

  • IndexRegExGroup() ist besonders nützlich für die fortgeschrittene Datenverarbeitung und wird in der Regel im ersten Schritt einer längeren, komplexeren Umwandlung verwendet. Normalerweise ist es einfacher, Probleme mit anderen Regex-Funktionen wie ExtractRegExGroup(), MatchRegEx() und CountRegEx() zu lösen, aber es kann vorkommen, dass IndexRegExGroup() Lösungen bietet, die diese Funktionen nicht bieten können.

Beispiel 1 – Ladeskript zur Ermittlung der Positionen von ISBN-Komponenten

Beispiel 2 – Diagrammformeln zum Auffinden von URL-Positionen (mit IndexRegEx()-Vergleich)

Hat diese Seite Ihnen geholfen?

Wenn Sie Probleme mit dieser Seite oder ihren Inhalten feststellen – einen Tippfehler, einen fehlenden Schritt oder einen technischen Fehler –, teilen Sie uns bitte mit, wie wir uns verbessern können!