W "Uniwersalnym Słowniu Języka Polskiego" znalazłem hasła związane z przewidywaniem:
- przewidujący liczący się z następstwami, myślący o przyszłości
- przewidywanie to, co ktoś przewiduje, przypuszcza, czego się spodziewa, domyśla
- przewidzieć — przewidywać
1. przeczuć, domyślić się co będzie, co może nastąpić
2. określić, oznaczyć coś z góry
Łącząc te definicje z zadaniami wyrażeń regularnych które w specjalny sposób opisują szukany tekst (lub szerzej części pól) otrzymamy dopasowywanie lub opisanie wyrażenia w zależności od kolejnych, przyszłych znaków.
- Operatory przewidywań
(?=...)
pozytywne przewidywanie(?=!...)
negatywne przewidywanie(?=<...)
pozytywne przewidywanie wsteczne(?=<!...)
negatywne przewidywanie wsteczne
Operatory przewidywań nie powodują pochłaniania fragmentu napisów.
Przykład:
wyrażenie
http(s)?://(www.)?(?!letnik.pl)
sprawdzi czy w napisie są linki do innych domen niż letnik.pl
dodając małą modyfikację można sprawdzenie poszerzyć o subdomeny:
http(s)?://(www.)?(?![a-z.]*?letnik.pl)
W ten sposób za pomocą pętli można dokonać sprawdzenia np przesyłanych danych $_POST pod kątem występowania linków zewnętrznych, policzenia ich itd...