我正在研究由教授在講座結束時發佈的思考練習。問題在於給定特定的語言定義來構建DFA。在構建DFA之前,第一個思考練習是將語言定義轉換爲正則表達式。構造一個正則表達式以匹配以下語言
所提供的字母是二進制數{0,1}
該語言定義是相當非正式:
定義所述一組二進制串中長度爲3的每個子串具有作爲語言至少一個零
所以符合這個定義的字符串的例子是000
,001
,1010
等等。
我的麻煩是提出一個正則表達式來匹配這個語言定義。我試着在http://regexr.com/上玩,但我只發現'..0'在結尾處每三個字符匹配一個零。我不確定如何按照語言定義的方式匹配每個子字符串,或者甚至可能。
有沒有辦法爲這個問題構造一個正則表達式?
這是偉大的,謝謝。如果字母表現在包含數字2但是非正式語言沒有改變,那麼如何擴展這個正則表達式呢? – JavascriptLoser
重讀提示,用「1」或「2」替換「1」。有什麼東西停止合理嗎? (這是一項任務;你越是嘗試自己,你越學習。) – Amadan
提示的邏輯是有道理的,但對於如何將「1」或「2」「表示爲正則表達式模式,我無能爲力」 – JavascriptLoser