例如正則表達式go*d
是一個模式將匹配字符串喜歡gd
,god
,good
...用於模式搜索的DFA是什麼?
你能想象它的DFA會像一個三態機。
當它用於模式搜索時,例如,給定句子xxxxgodxxxxgoodxxx
,go*d
的DFA似乎不起作用。即使在此3態DFA中,字符x
也未定義。
我們可以想象一個具有額外「重置」狀態的4狀態DFA可能在這裏工作。也就是說,當遇到未定義的字符時,進入該「重置」狀態。
問題是模式搜索工具如何用go*d
這樣的正則表達式實現搜索目的?
This sound很像你以前的問題:http://stackoverflow.com/questions/15489338/difference-between-pattern-matching-and-pattern-searching-in-terms-of-dfa-regex。 – 2013-03-19 00:42:01
@OliCharlesworth他們有關係。但是這個問題是關於給定搜索正則表達式的實現策略。前面的問題是關於搜索和匹配之間的一般差異。解決前一個可以幫助這個。 – JackWM 2013-03-19 00:55:02