W ostatnim poście opisałem i porównałem wydajność różnych sposobów wykorzystania regexów. Zdecydowanie najlepiej sprawowało się wyrażenie, które przygotowałem za pomocą metody Regex.CompileToAssembly(). Dziś omówię ją nieco dokładniej i podpowiem, jak zautomatyzować cały proces aktualizowania zebranych w oddzielnym assembly regexów.
Sztuka programowania 1484 dni, 18 godzin, 32 minuty temu 74 źrodło rozwiń
Wyrażenia regularne pozwalają sprawdzić, czy ciąg znaków pasuje do pewnego wzorca, co przydatne jest chociażby przy sprawdzaniu danych wejściowych, wyciąganiu informacji z tekstu, czy do ich podmiany. Zapisywany wzorzec jest ciągiem znaków, który musi spełniać pewne wymagania, a użyte symbole i operatory mają określone znaczenie, często zależne od kontekstu. Najczęściej wykorzystywane to:
Wyrażenia regularne pozwalają także na podmianę tekstu na podstawie podanych wzorców. Klasa Regex posiada metodę Replace umożliwiającą podmianę tekstu. Najprostszy sposób to wywołanie metody, której argumentami są: ciąg wejściowy, wzorzec oraz ciąg, który zostanie użyty do podmiany.
Wyrażenia regularne to podstawowe narzędzie przy analizie i modyfikacji tekstu. C# też oferuje odpowiednią klasę do używania wyrażeń regularnych. Mowa tu o klasie Regex. Klasy można używać w dwojaki sposób, tworząc obiekty tej klasy lub też korzystać ze statycznych metod. W tych dwóch przypadkach, postępuje się w podobny sposób. Wyszukiwanie tekstu Klasa Regex posiada dwie metody posiadające kilka innych wariantów: Match i Matches. Pierwsza z nich zwraca jedynie pierwszy wynik wyszukiwania w postaci...
Jest kilka sposobów na odczytywanie dokumentów tekstowych i wyszukiwanie w nich określonych treści. Często najbardziej niezawodne jest użycie do tego celu wyrażeń regularnych, czyli inaczej mówiąc regexa.
Ściągawka z wyrażeń regularnych