2012-08-14 139 views
0

我有一個布爾表達式像一個字符串:等等,其中/OR,"Hello, world/earth , how"AND解析布爾表達式蟒蛇

我想一個字符串比較這個布爾表達式返回True如果字符串包含"Hello" AND ("world" OR "earth") AND "how"

我該怎麼做?

回答

0

如果您現在談論有限自動機,那麼您可以創建一個圖(python-graph),其中每個單詞都是一個節點,每個節點指向下一個可能的單詞。在你的例子中,「你好」將指向「世界」和「地球」,這些將指向「如何」。那麼應該很容易瀏覽你的圖表。

+0

是的,我想我可以,但這似乎有點矯枉過正,爲這個「簡單」的任務安裝一個庫。既然這些單詞可以以任何順序出現,並且可能還有其他的話我不能真正向前並進入最終狀態? – 2012-08-14 12:45:07

+1

好的我認爲訂單很重要。你可以用逗號分隔表達式,然後你得到一個清單[「你好」,「世界/地球」,「如何」]。迭代該列表,如果該單詞不包含「/」,則該單詞必須位於該單詞中,如果該單詞包含「/」,則必須將其中一個包含在該字符串中。 – 2012-08-14 13:06:11

+0

答案在評論中,謝謝! – 2012-11-14 16:13:24