O'Reilly logo

Reguläre Ausdrücke Kochbuch by Steven Levithan, Jan Goyvaerts

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required