有没有一种方法或一个高效的库允许在 Java 中进行增量正则表达式匹配?
我的意思是,我想要一个 OutputStream,我可以一次发送几个字节,并跟踪迄今为止的数据与正则表达式的匹配。如果接收到一个字节会导致这个正则表达式绝对不匹配,我希望流告诉我。否则,它应该让我了解当前的最佳匹配,如果有的话。
我意识到这可能是一个非常困难且定义不明确的问题,因为人们可以想象正则表达式可以匹配整个表达式或其任何部分,或者在流关闭之前没有决定。即使像 .* 这样微不足道的东西也可以匹配 H、He、Hel、Hell、Hello 等等。在这种情况下,我希望流说:“是的,如果它现在结束了,这个表达式可以匹配,这是它将返回的组。”
但是,如果 Pattern 在内部逐个字符地遍历它匹配的字符串,它可能不会那么难?