【发布时间】:2019-07-13 10:37:21
【问题描述】:
我想知道两个已知的正则表达式之间是否存在冲突,以便允许用户构造一个互斥正则表达式的列表。
例如,我们知道下面的正则表达式完全不同,但它们都匹配xy50:
'^xy1\d'
'[^\d]\d2$'
是否有可能使用计算机算法来确定两个正则表达式是否会产生这样的冲突?怎么样?
【问题讨论】:
-
我偷偷怀疑这个问题等同于停机问题。
-
@Seamus Campbell:太棒了!这是停止问题的味道吗?如果没有,那如何实现?
-
另一种思考方式是......为什么不添加到用户的正则表达式中,从而使正则表达式互斥? IE。最后加上跟上一个不一样有帮助吗?
-
我强烈怀疑这是否等同于停机问题。停机问题适用于图灵机,它位于乔姆斯基层次结构的顶部 (en.wikipedia.org/wiki/Chomsky_hierarchy)。正则表达式位于层次结构的底部。我怀疑这是一个可以解决的问题,虽然我不知道它是什么或如何解决。
-
呃,你提供的两个正则表达式都不匹配
xy50...
标签: regex