[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