3.7. Uzyskiwanie dopasowanego tekstu

Problem

Dysponujemy wyrażeniem regularnym pasującym do części przetwarzanego tekstu i chcemy uzyskać dopasowany fragment. Gdyby nasze wyrażenie pasowało do więcej niż jednego fragmentu przetwarzanego łańcucha, chcielibyśmy uzyskać tylko pierwsze dopasowanie. Jeśli na przykład stosujemy wyrażenie regularne <\d+> dla łańcucha Wybierasz liczbę 13 czy 42?, nasze rozwiązanie powinno wyodrębnić łańcuch "13".

Rozwiązanie

C#

W przypadku jednorazowego dopasowania warto użyć następującego wywołania statycznego:

string resultString = Regex.Match(subjectString, @"\d+").Value;

Jeśli wyrażenie regularne zostało wpisane przez użytkownika końcowego aplikacji, należy otoczyć to wywołanie pełną konstrukcją obsługującą wyjątki:

string ...

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

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.