O'Reilly logo

Wyrażenia regularne. Receptury 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.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 ...

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