Czasowniki, które działają po cofnięciu i niepowodzeniu
Ostatnio czytałem wPCRE
- (Perl-zgodny z wyrażeniami regularnymi) dokumentacja i natknął się na kilka ciekawych sztuczek z wyrażeniem regularnym. Gdy nadal czytałem i wyczerpałem się, przestałem z powodu jakiegoś zamieszania związanego z używaniem kilku(*...)
wzory.
Moje pytanie i zamieszanie dotyczą(*PRUNE)
i(*FAIL)
Teraz w celach informacyjnych(*SKIP)
zachowuje się jak(*PRUNE)
, z wyjątkiem tego, że jeśli wzorzec nie jest zakotwiczony, zaliczka na dystans nie jest do następnego znaku, ale do znakupozycja w temacie gdzie(*SKIP)
napotkano.
Dokumentacja stwierdza, że(*PRUNE)
powoduje, że mecz kończy się niepowodzeniem przy bieżącympozycja startowa w temacie, jeśli reszta wzoru nie pasuje. I to stwierdza(*FAIL)
synonim z(?!)
twierdzenie negatywne. Wymusza pasujące niepowodzenie wdane stanowisko we wzorze.
Więc w zasadzie(*FAIL)
zachowuje się jak błędne twierdzenie negatywne i jest synonimem dla(?!)
I(*PRUNE)
powoduje, że mecz kończy się niepowodzeniem przy bieżącympozycja startowa w temacie, jeśli wystąpi późniejsza niezgodność, która powoduje powrót do niego.
Czym się różnią, gdy dochodzi do porażki?
Czy każdy może podać przykłady, w jaki sposób są one prawidłowo wdrażane i używane?