Narzędzia użytkownika

Narzędzia witryny


regex

To jest stara wersja strony!


Wyrażenia regularne oczami programisty C++, czyli Boost.Regex

Wersja robocza

W życiu każdego programisty przychodzi czas, w którym musi poznać wyrażenia regularne (z różnych przyczyn), a znając już je, używa ich chętnie i bez oporów, przynajmniej w skryptach shellowych (a de facto w programach typu AWK, grep czy sed) i w interpretowanych językach jak PHP, Perl, Ruby oraz innych.

Ogromne możliwości przetwarzania tekstu, jakie dają nam potocznie nazywane regexpy, ma się w końcu ochotę wykorzystać (jeżeli ma to sens, nic na siłę…) w tworzonych programach, właśnie np. przy użyciu języka C++. W czym problem? W obowiązującym aktualnie standardzie C++98 nie uwzględniono wyrażeń regularnych, więc możemy zapomnieć o wygodzie definiowania i posługiwaniu się nimi znanej z perla czy rubiego, ale to tak naprawdę jedyny problem. Zbliżający się kolejny standard C++0x naprawia ten błąd poprzez włączenie doń biblioteki Boost.Regex, która dostępna jest już dziś. Nie jest to jedyna biblioteka implementująca wyrażenia regularne w języku C++, ale wszystkie znaki na niebie i Ziemii wskazują, że będzie zapewne (jeżeli jeszcze nie jest) najbardziej rozpowszechnioną i najlepiej znaną biblioteką C++ tego typu w niedalekiej przyszłości. Tym razem PCRE, QRegExp (część Qt) i inne rozwiązania zostaną więc przemilczane, ale kiedyś na pewno jeszcze o nich wspomnę…

Przypomnienie składni wyrażeń regularnych

Przykłady użycia

Możliwości Boost.Regex

Konkurencja na własnym podwórku, czyli Boost.Xpressive

Wydajność

regex.1208219153.txt.gz · ostatnio zmienione: 2008/04/15 02:25 przez przemoc