Strona 1 z 1

[php] wyrazenia regularne typu perlowskiego

: czw gru 30, 2004 9:56 pm
autor: Twardy
Mam pytanie odnosnie wyrazen regularnych. Nie mam pojecia czym sie roznia te wyrazenia:

1.

Kod: Zaznacz cały

\d+costam
2.

Kod: Zaznacz cały

(?>\d+)costam
Czym jest i jakie ma znaczenie:

Kod: Zaznacz cały

(?>    )

Re: [php] wyrazenia regularne typu perlowskiego

: pt gru 31, 2004 2:32 pm
autor: Twardy
Po glebszej analizie cos odkrylem. A mianowice to, ze mamy zalozmy ciag:

Kod: Zaznacz cały

wwwwwwwwwwwwala
i teraz zapiszemy dla niego wyrazenie:

Kod: Zaznacz cały

\w+ala
Zapytanie wykaze, ze znalazl ciag. Natomiast takie nie:

Kod: Zaznacz cały

(?>\w+)ala
W pierwszym przykladzie na poczatku mamy w\+ co oznacza zakres od jednego do nieskonczonosci kazda litere, cyfre i _ . I teraz funkcja do wyrazen bedzie kolejno sprawdzala czy wystapil znak z zakresu. A ze wystepuje to koncowke ala tez uzna jako kolejne znaki i w tym przypaku nie znajdzie dalej ala. Ale! jest wlasnie ale. Normalnie gdy nie znajdzie to sprawdza od poczatku ten wyraz cofajac sie od konca o jeden znak az do 3-ech cofniec i znalezlieniu dalszego ciagu ala. I to nastapi w pierwszym przypadku wyrazenia. Natomiast (?> ...) blokuje cofanie badanego ciagu w nawiasach co spowoduje, ze nie znajdzie.

ps. Ale jest pytanie, kiedy to sie wykorzystuje?