3.21 Zeile für Zeile suchen

Problem

Klassische grep-Tools wenden Ihren regulären Ausdruck immer nur auf eine Zeile Text an und geben die passenden (oder auch die nicht passenden) Zeilen aus. Sie haben ein Array mit Strings oder einen mehrzeiligen String, den Sie so verarbeiten wollen.

Lösung

C#

Wenn Sie einen mehrzeiligen String haben, teilen Sie ihn zunächst in ein Array aus Strings auf, wobei jeder String im Array eine Zeile Text enthält:

string[] lines = Regex.Split(subjectString, "\r?\n");

Dann iterieren Sie über das Array lines:

Regex regexObj = new Regex("Regex-Muster");
for (int i = 0; i < lines.Length; i++) {
    if (regexObj.IsMatch(lines[i])) {
        // Die Regex passt zu lines[i]
    } else {
        // Die Regex passt nicht zu lines[i]
    }
}

VB.NET

Wenn Sie einen ...

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.