gpt4 book ai didi

regex - 您如何检查两个正则表达式是否描述相同的模式?

转载 作者:行者123 更新时间:2023-12-04 18:55:23 25 4
gpt4 key购买 nike

有时您可能会为一项任务想出两个不同的正则表达式。我想知道您如何检查两个正则表达式是否描述相同的模式?

  • 是否有一些算法可用于该检查?

  • 是否有一些(在线)工具可用于该检查?

例如,我这里有两个正则表达式 Can we rewrite lookbehind in terms of the if-then-else? , 我想知道它们是否相同。

谢谢。

最佳答案

常规语言的等价性是可判定的(参见 Hopcroft、Motwani、Ullman:自动机理论介绍、语言和计算,Chp 4.4)这也是最小化 DFA 的基础。直观地说,如果最小化的 DFA 是等价的(直到重命名状态),那么由常规语言生成/接受的语言是相同的。因此,您的第一个问题的答案是肯定的。

我确定有在线工具,但在最坏的情况下,您可以询问“flex”或等效工具来最小化自动机,您可以实现一个简单的工具,检查它们是否可以一致地重命名。

这个 SO 条目也是相关的:

Regular expressions Equivalence

关于regex - 您如何检查两个正则表达式是否描述相同的模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24131844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com