【问题标题】:How to convert NFA to Regular Expression如何将 NFA 转换为正则表达式
【发布时间】:2012-03-01 14:57:56
【问题描述】:

我知道将正则表达式转换为NFA,是有算法的。

但我想知道是否有将 NFA 转换为正则表达式的算法。 如果有,它是什么?

如果没有,我也想知道是否所有 NFA 都可以转换为正则表达式。 是否存在无法表示正则表达式的 NFA?

谢谢! :D

【问题讨论】:

  • 正则表达式可以表达任何种正则语言,因此每个可能的NFA至少应该存在一个正则表达式。但是,我不知道从 NFA 到正则表达式的算法。
  • 另外,你的时间真的很奇怪——我的朋友今天在课堂上问了我这个完全相同的问题。我也不记得答案了:(
  • 在这里查看您的问题的各种答案:cs.stackexchange.com/questions/2016/…

标签: regex formal-languages nfa


【解决方案1】:

这是一种算法,其中每个转换都被正则表达式增量替换,直到只有初始状态和最终状态:https://courses.engr.illinois.edu/cs373/sp2009/lectures/lect_08.pdf [PDF]

【讨论】:

猜你喜欢
  • 2013-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-30
  • 2012-12-26
  • 2010-10-18
  • 1970-01-01
  • 2013-10-28
相关资源
最近更新 更多