gpt4 book ai didi

python - 可以描述字符串的正则表达式

转载 作者:太空宇宙 更新时间:2023-11-04 06:17:04 25 4
gpt4 key购买 nike

我有一个字母表 {A, B, C} 和这个字母表上的(大量)单词:
AAABBCABBCCCCAA, ABBBCCC, BBBBCACAC, ...(不同的长度,不同的组合)

我正在寻找一组可以描述这些词的正则表达式(越小越好)。我更喜欢紧凑型((BC)+ 而不是 BCBC)。这不是家庭作业。

  1. 执行此操作的好方法是什么?
  2. 是否有 Python 包已经可以做到这一点?

我找到了 this question相关。

更新:当我说我更喜欢 (BC)+ 而不是 BCBC 时,我可能有点仓促。我更喜欢使用尽可能少的表达式(在最坏的情况下,每个字符串只有一个正则表达式),因此优先选择 A+AAAA+ 之一 来描述 AA(例如)应该取决于其他字符串显示的模式。

最佳答案

如果我对你的问题的理解正确,你有一个字母表和该字母表上的字符串列表,你想构建一个与这些字符串完全匹配的模式。

你或许可以构建一个 deterministic finite automata对于每个字符串,从中构建一个 non-deterministic finite automata那是所有这些的组合 DFA .然后简化 DFANFA .然后只需将 NFA 转换为模式即可。

如果您已经模式化了字符串而不是字符串,这甚至会起作用。但是,不能保证您将获得尽可能小的图案。

我不知道有任何库可以操纵 DFANFA在 Python 中。

关于python - 可以描述字符串的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14904119/

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