Vlákno názorů k článku Regulární výrazy v PHP: Řetězce od Martin Zdila - Clanok som prebehol iba velmi rychlo, pretoze POSIX...

  • Článek je starý, nové názory již nelze přidávat.
  • 6. 11. 2003 21:33

    Martin Zdila (neregistrovaný)

    Clanok som prebehol iba velmi rychlo, pretoze POSIX regularne vyrazy su oproti tym perlovskym (tiez podporovane standardne v PHP) velmi slabe. Tiez reg matching je u tych POSIX pomalsi a da sa ziskat iba max. 10 podvyrazov (pouzitim zatvoriek (...) ). Perlovske regexp maju take krasotinky ako asercie, podmienky, .. a ine krasne features, vseliake flagy vyhladavania (multiline, extened, case sensitivity a co ja viem este ake). a napr namiesto dlhych [[:digit:]], [[:alnum:]], [[:space:]] [[:<:]] a dalsich masakrov staci napisat \d \w \s \b. A funkcia preg_replace_callback je niekedy na nezaplatenie. Perl regularnym vyrazom saom napisal reverzny proxyserver. To bol vyraz na pol strany, mal vseliake podmienky, vetvenia, callbacky .. lahodka :) mnam.
    Takze, kto xe robit s regularnymi vyrazmi nieco fakt vazne, fakt vrele odporucam perlovske a NIE POSIX regexpy! Nastudujte si ich a uvidite, ze regularne vyrazy vo vseobecnosti a hlavne perlovske vam zmenia zivot k lepsiemu :). Rucim za to :-P (PS: v dokumentacii k PHP je podla mna vyborny popis perlovskych regexp; PPS: JavaScript vyuziva tiez perlovske regexp!)

  • 6. 11. 2003 22:37

    Yeti (neregistrovaný)

    Hm hm hm, až jednou napíšete regexep, a on se bude matchovat a matchovat a matchovat ... a nikdy to neskončí, tak si možná pak přečtete něco o tom, že složitost matchování posixových regulárních výrazů nemůže -- na rozdíl od pcre -- růst exponenciálně. Takže *identický* výraz preg matchne rychleji (to je pravda a čistě implementační otázka, nechcete doufám tvdrit, že je ta rychlost inherentní vlastnost těch výrazů), ale jinak tupý (a delší) posixový regexp snadno může matchnout rychlejí než krátký a chytrý pcre řešící tentýž problém, protože složitost je skrytá. Takže s rychlostí bych byl opatrný...

  • 7. 11. 2003 16:30

    hkmaly (neregistrovaný)

    No, nevim, ja jsem nedavno prepisoval regexp z posix do perlu protoze posix verze se zasekla ... ale predpokladam ze je to chyba implementace, pravdepodobne souvisejici s podporou multiline.

  • 6. 11. 2003 22:52

    Autor (neregistrovaný)

    je pravda, ze pcre ma nejake vyhody oprotio posixum... Clanek jsem zameril na posix proto, ze v php je defaultne podoprovan (a toto je clanek o php). pcre nekdy taky ale...
    mam ale v planech v budoucnu venovat kus casu i pcre :)

  • 9. 11. 2003 22:39

    bastlir (neregistrovaný)

    Tak tak, kdo dela chviliv perlu a pak neco v PHP a naopak, tak jedine PCRE, mimochodem MS regexp, co jsou jako COM komponenta jsou taky ty perlovske, skoda, jen, ze tam nemaji split, jako PHP