Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Różne od, negowanie wyrażenia regularnego
tosiek
post
Post #1





Grupa: Zarejestrowani
Postów: 142
Pomógł: 0
Dołączył: 7.07.2008

Ostrzeżenie: (0%)
-----


Główkuję od dłuższego czasu jak negować wyrażenie regularne (nie chodzi mi o negowanie funkcji wykonującej to wyrażenie). Ma sprawdzać czy rozszerzenie pliku jest różne od.

Doszedłem do takiego etapu:
Kod
\.(?<!png|jpg|jpeg|gif|bmp|js|css)$

No ale nie działa, mi się kończą pomysły (IMG:style_emoticons/default/smile.gif) Byłbym wdzięczny za pomoc.

Uff rozwiązałem, bardzo, bardzo rzadkie jest to zagadnienie i najczęściej kończy się: lookbehind assertion is not fixed length at offset

Rozwiązanie :
Kod
(?<!\.png|\.jpg|\.jpeg|\.gif|\.bmp|\.js|\.css)$



Jak ktoś ma pomysł jak oddzielić kropkę to byłbym wdzięczny bo próby tego typu:
Kod
(?<!\.(png|jpg|jpeg|gif|bmp|js|css))$

kończą się:
Cytat
preg_match_all() [<a href='function.preg-match-all'>function.preg-match-all</a>]: Compilation failed: lookbehind assertion is not fixed length at offset 37


Ten post edytował tosiek 13.04.2011, 21:07:00
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Zyx
post
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

Ostrzeżenie: (0%)
-----


Każdy automat skończony da się zanegować, zamieniając znaczeniami stan akceptujący i odrzucający. Nie potrzeba do tego żadnych rozszerzeń modelu oferowanych przez PCRE. W przypadku implementacji PHP wyrażenie regularne neguje się zatem najzwyczajniej w świecie negując funkcję je wykonującą. Tak mówi matematyka, a jak nie chcesz podanego na tacy rozwiązania, to się męcz.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.09.2025 - 16:19