我的句子: Hello world。我是一隻狗。如何使用Regex找到所有單詞的句子?
我正在使用搜索框,我想複製Google的自動填充功能。當用戶輸入單詞時,選擇匹配字符。我想匹配所有包含所有單詞的句子,而不管順序如何。因此,例如..
這些關鍵字將匹配「你好世界,我是一隻狗」。
hello
dog
hello dog
i dog world hello
world dog am
我的句子: Hello world。我是一隻狗。如何使用Regex找到所有單詞的句子?
我正在使用搜索框,我想複製Google的自動填充功能。當用戶輸入單詞時,選擇匹配字符。我想匹配所有包含所有單詞的句子,而不管順序如何。因此,例如..
這些關鍵字將匹配「你好世界,我是一隻狗」。
hello
dog
hello dog
i dog world hello
world dog am
您不需要正則表達式。其實,我不明白你如何使用正則表達式來實現這一點。
通過標記explode(" ", $line);
然後查看所有單詞是否匹配。
我使用的是MongoDB,所以我想將所有內容都保存在SQL中。如果使用正則表達式是不可能的,Google如何做到這一點? – user1426594 2013-02-12 23:06:22
所以你的問題是「Google自動完成工作如何?」? – Halcyon 2013-02-12 23:08:17
@ user1426594 Google使用經常更改的_very_複雜算法。 – Class 2013-02-12 23:22:44
如果我正確理解你的問題,你可以使用lookahead斷言。
爲 「你好狗」 的一個例子:
^(?=.*dog)(?=.*hello).*$
和 「我的狗世界你好」:
^(?=.*i)(?=.*dog)(?=.*world)(?=.*hello).*$
等。
「你好,是的,這是狗」 – Halcyon 2013-02-12 22:59:59
我不確定是否這樣的一些這樣的你正在尋找'/你好|狗|世界|我/我' – HamZa 2013-02-12 23:13:07