1

我想知道一种从正则表达式中列出所有可能模式的方法。例如,正则表达式:

(a(g|ag)|(a|b)g)|g

产量

ag (twice), aag, bg and g, correct?

使用 Thompson 构造绘制正则表达式然后解析生成的 NFA 的最佳列表方法是什么?

4

1 回答 1

2

您可以使用 Thompson 构造,然后探索所有可能的路径,以使所有字符串与您的正则表达式匹配。但是,由于正则表达式如:a*定义无限语言,您应该有一些停止条件。(例如生成的字符串的长度等...)

于 2013-10-09T12:40:20.673 回答