Po glebszej analizie cos odkrylem. A mianowice to, ze mamy zalozmy ciag:
i teraz zapiszemy dla niego wyrazenie:
Zapytanie wykaze, ze znalazl ciag. Natomiast takie nie:
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?