【发布时间】:2019-04-30 17:30:22
【问题描述】:
所以我不能 100% 确定这是一个正确的问题,但是 stackoverflow 似乎对于任何计算机科学来说都是天赐之物,所以我们开始吧。
我被要求为字母表 {a,b}* 中不以 bba 结尾的所有单词生成一个正则表达式。我想出了这个:
(a U b)*( (aaa) U (aab) U (baa) U (bab) U (aba) U (abb) U (bbb) )
所以这是一种包含 as 和 bs 的任意组合的语言,只要最后三个字母不是 bba。我很确定这是正确的,并且描述了给定的语言。
但是,我觉得这可以通过某种方式缩短,也许有一种方法可以巧妙地在其正则表达式中将某个单词从一种语言中排除。
(注意:这是有限自动机上下文中的正则表达式,不是用于单词比较的正则表达式。遗憾的是我只能找到后者的信息。)
感谢您的任何帮助:)
【问题讨论】:
-
嗯,还有Computer Science...这更符合计算机科学。
-
哎呀!我会在那里交叉发布。干杯:)
-
确实在那里得到了回答,毕竟浏览stackoverflow并没有很好地利用我的时间。
标签: computer-science regular-language