【发布时间】:2012-11-26 15:14:06
【问题描述】:
我有一个 DFA,但我不知道它是否在接受状态。我只知道它接受的正则表达式。我试图找出它是否是接受状态,所以我查看了 DFA 的每个状态,我想将接受的正则表达式与当前状态生成的单词进行比较。
所以我正在寻找可以将单词与正则表达式进行比较并告诉我它是否匹配的东西,这样我就可以将 DFA 的这种状态标记为已接受状态,然后转到另一个状态。我试图实现一些算法,但事实证明这对我来说是一个相当复杂的问题。你能给我建议吗?谢谢!
字母:{a,b,c}
正则表达式示例:ab.(a|c)*
【问题讨论】:
-
这和Java有什么关系?在我看来,这就像计算理论。
-
我认为他正在寻找 Java 实现
-
我在 Java 中实现了这个,因为我认为我可以使用它的正则表达式库
标签: java regex finite-automata automata dfa