正则表达式涉及模运算

时间:2014-11-08 13:53:59

标签: regex dfa

我正在尝试为语言

创建DFA或正则表达式
  

L = {a n b m | n mod 3 = m mod 3}`

例如,L包含字符串aaabbb,aaabbbbbb和abbbb。

然而,我在这里一直没有取得任何进展。我怎么能做到这一点?

1 个答案:

答案 0 :(得分:3)

只有三个可能的余数模三。您可以通过列出处理三种情况中的每种情况的正则表达式来构建语言的正则表达式,然后将它们组合在一起。这是一个可能的答案:

(aaa)*(bbb)* | a(aaa)*b(bbb)* | aa(aaa)*bb(bbb)*

希望这有帮助!