phpbar.de logo

Mailinglisten-Archive

regexp

regexp

Wolfgang Hauck wbh at euta.net
Fre Apr 25 14:41:18 CEST 2003


>Ich stehe vor folgendem Problem:
>Ich möchte, dass mysql mir einen text nach ganzen worten durchsucht.
>Dazu hab' ich mir folgendes statement gebastelt:

>SELECT * FROM table
>WHERE column
>RLIKE
>'.*[[:<:]]wort1[[:>:]].*[[:<:]]wort2[[:>:]].*[[:<:]]wort3[[:>:]].*';

>Soweit so gut.
>Wenn allerdings die drei worte in einer anderen reihenfolge 
vorkommen,
>dann liefert RLIKE keinen Treffer.

>Weiss jemand, wie ich das statement umbauen muss,
>damit auch beliebige reihenfolgen der worte, zb.
>"[...] wort2 [...] wort3 [...] wort1 [...]"
>gefunden werden?

Hi Bernhard,

Wenn alle drei Worte vorkommen müssen:

'.*[[:<:]](wort1[[:>:]].*[[:<:]]wort2[[:>:]].*[[:<:]]wort3|wort1[[  
:>:]].*[[:<:]]wort3[[:>:]].*[[:<:]]wort2|wort2[[:>:]].*[[:<:]]wort  
1[[:>:]].*[[:<:]]wort3|wort2[[:>:]].*[[:<:]]wort3[[:>:]].*[[:<:]]w  
ort1|wort3[[:>:]].*[[:<:]]wort1[[:>:]].*[[:<:]]wort2|wort3[[:>:]].  
*[[:<:]]wort2[[:>:]].*[[:<:]]wort1)[[:>:]].*';

Das das perfomant ist wag ich aber zu bezweifeln ;-))

MfG Wolfgang

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive