有这样的事吗?
例如,S -> aSb | ^ (可能的词: ^, ab, aabb, aaabbb, aaaabbbb, ...)
据我所知,唯一与上述语法密切匹配的正则表达式是:a*b*
但是正则表达式可以产生诸如 aab、abb、... 之类的单词,其中 a 和 b 不相等。
有针对这个的解决方法吗?类似于:a*b* if #a = #b
编辑:我认为没有解决方案。
对此的正确解释是什么?这实际上是我家庭作业的一个片段,我真的不知道该回答什么,因为没有将语法翻译成正则表达式的解决方案。