Thread Reguläre Ausdrücke durch anderes ersetzten...
(59 answers)
Opened by ppm1 at 2004-02-16 23:16
[quote=ppm1,16.02.2004, 22:16]man sage mir das das suchen mit regulären Ausdrücken sehr Serverintensiv sei?[/quote]
ja, das stimmt nein, das ist bloedsinn das haengt davon ab, was man sucht; wenn man genau eine fixe zeichenkette in einer laengeren sucht, dann ist index (oder rindex) haeufig schneller. wenn man komplexere sachen sucht, dann ist ein regulaerer ausdruck oft schneller als mehrere aufrufe von index bei regulaeren ausdruecken sollte man, wenn moeglich, auf flags wie /i verzichten, weil dadurch einiges an optimierungsmoeglichkeiten verloren geht, und die regex-engine deshalb nicht besonders effektiv arbeiten kann. wenn moeglich, sollte man auch anker ^ und $ verwenden. /abc(?:def|geh)/ ist meistens schneller als (?:abcdef|abcgeh)/ capturing nur dort, wo es noetig ist, also nicht (ab|cd), wenn man abcde spaeter nicht mehr braucht, sondern (?:ab|cd) wenn nur a oder b gross oder klein sein koennen, dann besser (?i:a|b) oder besser noch [aAbBc-z] matchen die variablen $& $` $´ sollte man nicht verwenden, weil die immer noch recht viel laufzeit kosten koennen die option /o kann auch ganz schoen geschwindigkeit bringen perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/ |