正则表达式[1(0 1 * 0)* 1] * DFA

时间:2019-04-01 04:23:45

标签: regex automata dfa automata-theory

此正则表达式接受链的条件是什么?

3 个答案:

答案 0 :(得分:0)

最后的*表示初始状态正在接受,并且自动机在接受任何内容时都会返回此状态。称为初始状态q1。

要接受1(01 * 0)1,我们必须首先消耗1并进入新状态,例如q2。从那里,我们可以在子表达式01 * 0上进行自循环,方法是在0处进入新状态q3,然后在q3中进行循环1,然后在0处返回q2。

从q2开始,我们可以返回1上的q0。我们的DFA如下:

@ErrorMessage varchar OUTPUT  

应该这样做。

答案 1 :(得分:0)

当您不知道如何开始时,应该写下由正则表达式生成的几个第一个元素。在这种情况下:

SET = {eps, 11, 1001, 10101, ...}

,然后尝试弥补。不过您已经找到答案了,所以我不再重复。

答案 2 :(得分:0)

可能您有想法

\[[0-9\s]+.*\]\*

演示:https://rubular.com/r/n3bVXJd3SFffr0