簡體   English   中英

DFA的正則表達式,該表達式接受空字符串以及其他字符串

[英]Regular expression for a DFA that accepts the empty string as well as other strings

對於以下DFA NFA

在此處輸入圖片說明

我制作了RE

(a + b)(ab)*

但是,然后我意識到我的RE不接受空字符串,因為它只接受以ab開頭的字符串,但是DFA NFA也接受空字符串,因為初始狀態是接受狀態。

DFA NFA的有效RE是什么? 我會想一些類似的

Ø + (a + b)(ab).*

但我懷疑這種語法是否被接受。

編輯

我也剛剛意識到,我所舉的例子是NFA,但這不是問題的重點。

(a + b)*將是您在問題標題中提到的答案。 帶*表示您可以有空字符串。 a + b表示您可以選擇a或b。 所以最后您可以重復選擇a或b。

下面的表達式如何?

^(|[ab](ab)*)$

它接受一個空字符串,或者一個無序或多次ab的序列,后跟ab

但是,這能否解決您的問題取決於確切的正則表達式方言。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM