问题是,我能以某种方式使处理速度比将所有这些正则表达式运行到同一文本更快吗?
逻辑上输入文件是相同的,后来的正则表达式可以使用已经处理过的一些信息.如果我们认为每个正则表达式都是有限自动化的,那么运行1500个有限自动机到相同的文本,肯定比运行一个加入自动化的速度慢.所以问题是,我可以以某种方式创建加入的正则表达式吗?
>将所有正则表达式转换为有限状态机.>将这些组合成一个单独的fsm.>优化生成的状态.
优化将是一个关键步骤,因为输入很长(100-200kb).内存可能是一个问题,而性能可能会变得更糟.我不知道是否存在用于此目的的库,但这里是theoretical answer.