【问题标题】:Equivalence of different regular expressions [duplicate]不同正则表达式的等价性[重复]
【发布时间】:2016-01-19 04:28:48
【问题描述】:

如果我有两个正则表达式,想检查这两个表达式是否等价,怎么办?

“等价”是指这两个正则表达式是否匹配完全相同的字符串集?

例如,这两个正则表达式是等价的:

b{1}b{0,} == bb*

这两个不是。

b != bb*

用 Python 编写代码的答案是理想的。

【问题讨论】:

  • 你能说得清楚一点吗?我不明白。
  • @Onilol 我相信,根据 OP 给出的示例,OP 想要检查两个任意正则表达式是否产生相同的结果集。在他们的情况下,b{1}b{0,} == bb* 这是真的,b{2}b{2,} == bb+ 不会。
  • 我不希望这通常是可确定的,但会非常有兴趣阅读完整的分析

标签: python regex


【解决方案1】:

我不相信在 python 中有一种简单、快速的方法来做到这一点,但你当然可以构建一个函数来做到这一点。 post from the computer science stack exchange 详细解释了如何确定 2 个正则表达式是否等价的 4 步过程。

【讨论】:

    猜你喜欢
    • 2010-10-08
    • 2014-01-13
    • 2014-01-21
    • 2019-07-25
    • 2012-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多