3.21. Przeszukiwanie kolejnych wierszy

Problem

Tradycyjne narzędzia przetwarzające wyrażenia regularne (na przykład grep) stosują te wyrażenia dla kolejnych wierszy i wyświetlają właśnie dopasowane (lub niedopasowane) wiersze. Wyobraźmy sobie, że dysponujemy tablicą łańcuchów lub łańcuchem wielowierszowym, który chcemy przetworzyć w ten sposób.

Rozwiązanie

C#

Jeśli dysponujemy łańcuchem wielowierszowym, powinniśmy go najpierw podzielić na tablicę łańcuchów, której elementy będą reprezentowały poszczególne wiersze tekstu:

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

Możemy teraz iteracyjnie przeszukać elementy tablicy lines:

Regex regexObj = new Regex("wzorzec wyrażenia regularnego"); for (int i = 0; i < lines.Length; i++) { if (regexObj.IsMatch(lines[i])) ...

Get Wyrażenia regularne. Receptury now with O’Reilly online learning.

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