我们如何找到后续字符串的正则表达式

时间:2016-03-12 17:26:19

标签: finite-automata

查找表示以下集合的正则表达式:

  1. {a,b}所有字符串的集合,其中的数量为 a的出现除以3.
  2. 以00
  3. 开头的{0,1}上的所有字符串的集合

2 个答案:

答案 0 :(得分:0)

您可以绘制DFA并使用它来查找正则表达式。

例如,对于<body>,它就是 enter image description here

然后使用将其转换为正则表达式。 This is one way

答案 1 :(得分:0)

对于1,你需要一个表达式,它给出了一个字符串超过{a,b}并且可以被3整除的字符串的方法。可以有0个,因为0可以被3整除。可以有3个,6个,9个,等等。对此的表达式是(b ab ab ab + b 。第二个术语允许0 a的可能性以及任何数量的b,因为0 a可以被3整除。第一个术语解释了具有多个&的字符串的所有其他可能性#39; s可被3整除。

对于2,{0,1}上的所有字符串的集合是(0 + 1)*,如果它必须以00开头,则正则表达式只是00(0 + 1)*