250 TIF

250 TIF



Wyszukiwanie wyrażeń regularnych jest jednym z ulubionych przykładów autorów, ponieważ jest pełen najróżniejszych technik. Wyszukiwanie wyrażeń regularnych stanowi doskonałą metodę badania napisów. Zamiast sprawdzać dokładnie, czy dany napis ma konkretną wartość lub nawet, czy zawiera jakiś konkretny podnapis, to za pomocą wyrażeń regularnych można dopasowywać napis do podawanych wzorców. Możemy na przykład szukać napisów zaczynających się od litery „f ’ lub napisów zaczynających się od litery „f” i składających się w dalszej kolejności z kilku podkreśleń. Stosowane wzorce mogą być naprawdę wyrafinowane.

Za pomocą kodu wyszukującego wyrażenia regularne można sprawdzić, czy jakiś napis pasuje do podanego wzorca. W tym celu definiuje się wzorzec, umieszczając w napisie pewne znaki specjalne, utworzone z dwóch ukośników (\\) i litery. W zależności od wpisanej litery, mają one następujące znaczenie: d — oznacza dowolną cyfrę;

D — nie uznaje napisu, jeśli jest w nim jakaś cyfra; w — oznacza dowolną literę (a-z, A-Z) lub cyfrę;

W — nie uznaje napisu, jeśli jest w nim jakaś litera lub cyfra; s — oznacza dowolny znak odstępu (spacje, tabulatory, końce wiersza itp.);

S — nie uznaje napisu, jeśli jest w nim jakiś odstęp.

Podany wzorzec będzie pasował do wszystkich napisów zaczynających się od napisu „to”, po którym następują kolejno odstęp, napis „jest” albo odstęp i napis „testl”:

Literał li("to\\sjest\\stest1");

Pliki

Dalej podano zawartość plików kodów źródłowych realizujących szukanie wyrażeń regularnych. Plik nagłówkowy ma nazwę regexp.h, a plik kodu — regexp.cpp. Numery w komentarzach oznaczają numery wskazówek z części I. Pliki źródłowe i odpowiadający im plik projektu Visual C++ można znaleźć w folderze exp na CD-ROM-ie dołączonym do tej książki.

regexp.h

#ifndef _REGEXP_H #defme _REGEXP_H #include <typeinfo.h>

#include <string.h>

void TestRegExp();

// Informacje o powtórzeniach, typedef enum


Wyszukiwarka

Podobne podstrony:
250 IV. Badanie funkcji za pomocą pochodnych Wyrażenie to jest równe zeru (zakładamy, że 0) tylko w
File0918 PROS/ACZEk, MAŁY MALARZ Jednym z ulubionych zajęć Prosiaczka jest malowanie. u A czy ty też
Img10245 wu 5 minut na wyszukanie dziecka, które jest najmniej do was podobne i zapisanie odpowiedzi
SNC00307 (3) 2.1. Reguhicja PID Rys.4.1 przedstawia schemat typowego układu regulacji, Kolą regulato
SSM10144 ultury kalusa Kalus w kulturach In vitro może wytworzyć się niemal z każdej tkanki, jednak
pons208 Przymiotnik czy przysłówek? Główna reguła jest następująca: przymiotnik okreśła rzeczownik ł
else instrukcje3 endwykonywane instrukcje1!, sprawdzane jest natomiast wyrażenie2, jeśli jest ono
s059 (2) Linuksowy system plików 59 PATRZ RÓWNIEŻ « Więcej o wyrażeniach regularnych mówimy w rozdzi
IMG?41 (2) kraat Ofóhta reguła jest taka. te płemh jest rozjaśniana tylko wówczas, gdy na ekranie ja
IMG39 (3) Przykład 1 Obiekt regulacji jest elementem inercyjnym pierwszego rzędu. Wyznaczyć uchyb s
page0254 250 formy bytowania. Zatem materya jest podścieliskiem wspólnem wszystkich ciał. Lecz jeżel

więcej podobnych podstron