2013-02-12 91 views
0

我的句子: Hello world。我是一隻狗。如何使用Regex找到所有單詞的句子?

我正在使用搜索框,我想複製Google的自動填充功能。當用戶輸入單詞時,選擇匹配字符。我想匹配所有包含所有單詞的句子,而不管順序如何。因此,例如..

這些關鍵字將匹配「你好世界,我是一隻狗」。

hello 
dog 
hello dog 
i dog world hello 
world dog am 
+2

「你好,是的,這是狗」 – Halcyon 2013-02-12 22:59:59

+0

我不確定是否這樣的一些這樣的你正在尋找'/你好|狗|世界|我/我' – HamZa 2013-02-12 23:13:07

回答

0

您不需要正則表達式。其實,我不明白你如何使用正則表達式來實現這一點。

通過標記explode(" ", $line);然後查看所有單詞是否匹配。

+0

我使用的是MongoDB,所以我想將所有內容都保存在SQL中。如果使用正則表達式是不可能的,Google如何做到這一點? – user1426594 2013-02-12 23:06:22

+0

所以你的問題是「Google自動完成工作如何?」? – Halcyon 2013-02-12 23:08:17

+1

@ user1426594 Google使用經常更改的_very_複雜算法。 – Class 2013-02-12 23:22:44

0

如果我正確理解你的問題,你可以使用lookahead斷言。

爲 「你好狗」 的一個例子:

^(?=.*dog)(?=.*hello).*$ 

和 「我的狗世界你好」:

^(?=.*i)(?=.*dog)(?=.*world)(?=.*hello).*$ 

等。

相關問題