假设您要在管道上执行正则表达式搜索并提取,但是该模式可能会跨越多行,该怎么做?也许正则表达式库适用于流?
我希望使用Python库完成这项工作吗?但是任何解决方案都可以,当然不是库,而是cmd行工具。
顺便说一句,我知道如何解决我当前的问题,只是寻求一个通用的解决方案。
如果不存在此类库,那么在常规数学算法永远不需要向后扫描的情况下,为什么常规库不能与流一起使用。
如果您寻求一般解决方案,则算法将需要如下所示:
match.end()
如果找不到匹配项,最终可能会占用大量内存,但是在一般情况下很难做到更好(考虑.*x在大型文件中尝试将其作为多行正则表达式进行匹配,唯一的x是最后一个字符)。
.*x
x
如果您了解更多有关正则表达式的信息,则可能还有其他情况可以丢弃部分缓冲区。