9 listopada 2005 (środa), 19:06:06

Programowanie ...

Programowanie wyrażeń regularnych jest piękne a do tego bardzo mnie ostatnio bawi.

$x = preg_replace_callback ('/NN((j?[^N]+N?)*(j[^N]+N?)+(j?[^N]+N?)*)NN/',
     create_function (
                '$arg',
                '
                $y = $arg [1];
                $y = preg_replace ('/j([^N]+)N?/', "<LI></LI>nN",$y);
                $y = preg_replace ('/([^N/<][^N]*)N?/', "<P></P>n",$y);
                $y = preg_replace ('/</LI>nN/', "</LI>n", $y);
                return "NN<UL>" . $y . "</UL>NN";
                '
       ),
     $x);

Piękne w nim jest to, że jest ono wielką pułapką dla postmodernistycznych informatyków. Tego nie da się wziąć z przykładu i lekko przerobić, nie da się zaadoptować, wzorować na przykładzie. Po prostu to trzeba zrozumieć aby z tego korzystać - żadnego chodzenia na skróty, żadnego podręcznika za 5zł pt. "Jak programować wyrażenia regularne w 5 minut".

A moja metoda jest taka: napisać na karteczce przypasowywany tekst, napisać pod spodem propozycję wyrażenia i z lekka zezując przesuwać palec jednej ręki po tekście a drugiej po wzorcu. Przy pierwszym błędzie poprawić wzorzec zapisując go poniżej. Jeżeli kartka się skończy wziąć następną, a jak skończy się ryza to następną.

I jeszcze obserwacja - zapis przypomina nieco czasy programowania w asemblerze, w czasach gdy nie było jeszcze kompilatorów (meta)asemblera i procedury zapisywało się szesnastkowo. Np w Intelu 8080 i Z-80 CALL to bylo CD a RET C9


Robię sobie odświeżanie pamięci: JMP C3, LD A 21...., NOP 00, LD HL 23...., prefix: hl->iy FD hl->ix DD, HOLD 80, JZ C2, JC CA, słabo, słabo z pamięcią.


Kategorie: informatyka, _blog


Słowa kluczowe: informatyka, PHP, HTML, wyrażenia regularne


Komentarze: (1)

lilienn, November 12, 2005 00:06 Skomentuj komentarz


pozytywne mysli
Skomentuj notkę

Disclaimers :-) bo w stopce coś wyglądającego mądrze można napisać. Wszystkie powyższe notatki są moim © wymysłem i jako takie związane są ze mną. Ale są też materiały obce, które tu przechowuję lub cytuje ze względu na ich dobrą jakość, na inspiracje, bądź ilustracje prezentowanego lub omawianego tematu. Jeżeli coś narusza czyjeś prawa - proszę o sygnał abym mógł czym prędzej naprawić błąd i naruszeń zaniechać.