我有一个类似以下示例的“或”模式: (XYZ) | (XYAB) | (XAK) | (MAJK) | (单克隆抗体) | (MZ)。 我的问题是我的实际问题的 OR'ed 操作数的数量是巨大的,并且会导致大量的内存消耗问题。
但是,形成模式本身的条目很少(X、Y、Z、A、B、K、M 和 J)。因此,将该模式转换(优化)为如下模式: (X ((Y (Z | (AB))) | (AK))) | (M ((A ((JK) | B)) | Z)) ,很可能会解决我的记忆问题。
我需要一种算法来获取输入模式(可能是字符串)并生成优化的模式(也可能是字符串)。