是否可以可靠地确定给定的正则表达式是否匹配任何字符串?

时间:2013-05-24 04:23:45

标签: regex

我想采用用户输入正则表达式并确定它是否匹配任何字符串,即它会“缩减”为.+还是.*

我怀疑自this exists以来,我的问题会减少到暂停问题,但我真的想错了。

1 个答案:

答案 0 :(得分:0)

我认为你想要的东西与正则表达式的语法以来的Halting问题类似。考虑到自动机识别的字母和语言是有限的,您仍然可以使用虚拟算法来尝试您的语言的每个世界,并测试正则表达式是否能够识别它。

实际上,这种方法的复杂性非常糟糕,但由于输入数量是可枚举的,因此您在暂停问题时没有任何“未定义”状态。

我实际上不知道这个虚拟算法是否存在更好的版本,但我希望我回答你关于与停机问题相似的问题。