2011-02-07 61 views
0

這是一個殺我,我是一個總的noob與正則表達式。 我試圖進行網站搜索,並將輸入的文本與 數據庫中的標題列進行比較。 基本上我想用正則表達式來完成的是LIKE'%word1 word2 word3%',但有一些字符串變量。MySql正則表達式來自用戶輸入搜索

例如:

SELECT * FROM表WHERE標題REGEXP 'W [澳]第三屆'

的作品就好了。它尋找單詞和病房。但是當我想要多個單詞時,它什麼也不返回。

SELECT * FROM表WHERE標題REGEXP 'W [澳] RD秒[或]第二屆[IO]第三屆'

我不想要搜索的詞或第二或第三我想把它們全部放在標題中,就像使用LIKE的大寫字母一樣。

我在想也許是爆炸搜索字符串用戶輸入然後在一個foreach每個字逐個做正則表達式,但不知道如何連接到一個查詢的所有變化。

編輯: 我忘了提及即時搜索在utf8_unicode_ci整理表。 所以真的我試圖做一個[cčć] orak類型的搜索。

回答

2
SELECT * FROM table WHERE title REGEXP 'w[ao]rd|sec[or]nd|th[io]rd' 

編輯:「好吧,你想他們都是在標題和該命令」

SELECT * FROM table WHERE title REGEXP 'w[ao]rd.*sec[or]nd.*th[io]rd' 

這將尋找那些話(和變化),使他們可以按照這個順序,因此,例如

word blahblah second more blah third 
+0

感謝,但是這是做什麼或者,我說我不需要這種方式。 – Doktor83 2011-02-07 16:05:12