Sancho: regexp - mehrere Wörter in beliebiger Reihenfolge

Beitrag lesen

Hi Mudguard,

Muß es ein Regex sein?
Sonst

WHERE spalte LIKE '%hans%' AND spalte LIKE '%gestern%' AND spalte LIKE '%komisch%'

Äh - ja (wie ausgeführt). Weil ich eben gern die Option zur Suche nach Einzelwörtern einbauen würde. Und wie gesagt; Dein Vorschlag liefert mir auch die nicht gesuchten 'hanse-kogge' 'hängestern'. (Zweites Beispiel ist zugegebenermaßen ewtas 'gesucht'.)
Ich hätte damit also das Problem nur auf die Auswertung des Query-Ergebnisses 'verschoben'.

Wobei sich, da hast Du schon recht, die Anzahl der regex-Aufrufe dadurch natürlich reduzieren läßt;

aber ich wage zu bezweifeln, dass

30 mal mysql:LIKE   [bei 10 Zeilen mit 3 gesuchten Wörtern]

und dann ggf.

3 mal PHP:preg_match() [auf 3 Ergebnisse]

performanter ist als

10 mal mysql:REGEX  [bei besagten 10 Zeilen]

Aber wie gesagt; mein Denkfehler scheint in der Suche nach einem regulären Ausdruck mit UND-Verknüpfung für Wörter zu liegen. Das scheint tatsächlich nur über die Aneinaderreihung aller Kombinationen zu gehen; und dann hat es spätestens ab 4 Wörtern wohl keinen Zweck mehr.

cu2,
Sancho.