我想采用用户输入正则表达式并确定它是否匹配任何字符串,即它会“缩减”为.+
还是.*
?
我怀疑自this exists以来,我的问题会减少到暂停问题,但我真的想错了。
答案 0 :(得分:0)
我认为你想要的东西与正则表达式的语法以来的Halting问题类似。考虑到自动机识别的字母和语言是有限的,您仍然可以使用虚拟算法来尝试您的语言的每个世界,并测试正则表达式是否能够识别它。
实际上,这种方法的复杂性非常糟糕,但由于输入数量是可枚举的,因此您在暂停问题时没有任何“未定义”状态。
我实际上不知道这个虚拟算法是否存在更好的版本,但我希望我回答你关于与停机问题相似的问题。