3.8 Position und Länge der Übereinstimmung ermitteln

Problem

Statt den Substring auszulesen, der von einem regulären Ausdruck gefunden wurde (wie im vorherigen Rezept), wollen Sie Startposition und Länge der Übereinstimmung wissen. Mit dieser Information können Sie die Übereinstimmung in Ihrem eigenen Code ermitteln oder irgendwelche spannenden Verarbeitungsschritte mit dem ursprünglichen String anstellen.

Lösung

C#

Für schnelle Tests, die nur einmal durchgeführt werden sollen, können Sie den statischen Aufruf verwenden:

int matchstart, matchlength = -1;
Match matchResult = Regex.Match(subjectString, @"\d+");
if (matchResult.Success) {
    matchstart = matchResult.Index;
    matchlength = matchResult.Length;
}

Um die gleiche Regex mehrfach einzusetzen, erstellen ...

Get Reguläre Ausdrücke Kochbuch now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.