@GGrindzior: Generalnie tak właśnie powinieneś zrobić – łatwiejsze w zrozumieniu i utrzymaniu oraz ewentualnym rozszerzaniu. Ponadto lookahead jest dość kosztowny w regexpach (tu raczej nie będzie to miało większego wpływu, ale jednak).

A w zasadzie, jeśli to tylko sprawdzanie rozszerzenia, to najprostszy sposób będzie najlepszy:

[1] Tablica z niechcianymi rozszerzeniami – blacklista,

[2] split nazwy pliku po kropce,

[3] sprawdzenie, czy ostatni element splitowanej tablicy jest na blackliście.

Blacklistę można wtedy
@Rincewind: "I żaden regexp nie jest potrzebny" brzmi jak "i żyli długo i szczęśliwie". Siriusli. Podpisuję się obiema rękami pod mottem, którym Damian Conway opatrzył rozdział o wyrażeniach regularnych w książce "Perl Best Practices", cytuję z pamięci: "Czasami programista napotyka na problem i myśli sobie: wiem, rozwiążę to wyrażeniem regularnym! Od tej pory ma dwa problemy."
@stefan_pompka: stosowanie notacji węgierskiej w językach wyższego poziomu to jeden wielki bullshit. nie ograniam jak można używać jej w np. Javie, gdzie IDE daje nam wszystkie informacje. Nigdy w życiu nie miałem tez problemu z rozpoznaniem typu zmiennej w C++ czy jakimkolwiek innym języku..
#calibre #regex

Mam sobie takie wyrażenie regularne:

[a-ź] \n
Znajduję w ten sposób zbędne przełamania wierszy, czyli takie gdzie na końcu wiersza nie ma kropki tylko litera.

Pytanie jest takie - w jaki sposób mam skonstruować tekst zastępujący, aby wpisywało mi po prostu tą odnalezioną literę i spację?
#zagadkihakerskie #programowanie #php #regex

Tym razem nieoryginalna zagadka, z którą być może część z was się spotkała. W dawniejszych czasach w manualu PHP zaproponowano taki kod do usuwania niebezpiecznych elementów z wejścia:

// $document should contain an HTML document.

// This will remove HTML tags, javascript sections

// and white space. It will also convert some

// common HTML entities to their text equivalent.

$search = array ("']*?>.*?'si", // Strip out javascript