我需要一种方法来检查正则表达式是否可以匹配0个字符,因此与无限匹配。例如,REGEX .*
可以匹配0个字符,这意味着它将永远循环,崩溃我的应用程序。
在我的应用程序中,用户输入了正则态度,当然可以永远循环。我如何防止这种情况发生?
没有无限匹配的正则匹配的东西;因此被困在无限的循环中。例如,当有0个字符时,REGEX .*
将立即停止,并且将在任何n
字符串上进行n
迭代。
正则是有限状态机的一种形式。字符串(其输入)也总是有限的。正则表达式中没有无限的。
这是在CS上下文中提出的一个相同的问题:https://cs.stackexchange.com/questions/47835/can-a-a-regular-regular-expression-be-be-infinite