是否有一種方法或高效的庫允許在Java中進行增量式正則表達式匹配?在Java中匹配的增量模式(RegEx)?
我的意思是,我想要一個OutputStream,我可以一次發送幾個字節,並跟蹤正則表達式的數據。如果接收到的字節會導致此正則表達式肯定與而不是匹配,那麼我希望該流告訴我。否則,它應該讓我知道當前最好的匹配,如果有的話。
我意識到這可能是一個非常困難和沒有明確定義的問題,因爲我們可以想象正則表達式可以匹配整個表達式或其任何部分,或者在流無論如何關閉之前都不會做出決定。即使像。*這樣微不足道的東西可以匹配H,He,Hel,Hell,Hello,等等。在這種情況下,我希望這個流說:「是的,如果它現在結束,這個表達式可以匹配,這裏是它將返回的組。」
但是,如果模式在內部逐步穿過字符串,它會逐字符匹配,它可能不那麼難?
事實上,回溯是正則表達式評估的常態。你的直覺,這將是不明確的,絕對是現貨。 –
@MarkoTopolnik我猜你可以使用回溯並仍然按順序處理字符,但是,不是嗎?或者正則表達式引擎在字符串中跳躍以做「隨機」預測? –
向前看可能需要檢查整個輸入序列,而不實際匹配任何內容。 –