Java中的NFA仿真

unl*_*hed 7 java regex computer-science nfa

我被赋予了在Java中模拟NFA的任务.现在,我必须模拟NFA的以下正则表达式是

ab*((b|d)|c*)
Run Code Online (Sandbox Code Playgroud)

我想我的电子符号太多了.我只是想知道下面的图像是否正确.

NFA

Sta*_*erg 0

您的 NFA 图是正确的。它将匹配正则表达式ab*((b|d)|c*),而不匹配其他任何内容。然而,它可以更简单,例如这样:

在此输入图像描述