我有一種正則表達式的問題,我希望它在一個字符串中計數多個(在這種情況下,一個)緩衝區。C++在多個緩衝區上的正則表達式
比方說,我下載一個文件,我想搜索一個特定的字符串,讓我們說「foobar」。 我不知道文件大小是多少,我不想爲html代碼分配一大塊幾兆字節的緩衝區。
所以,我的想法是,我有這個小緩衝區,可以說64個字節。 比方說,我們寫文件的塊和字符數組類似
.............foobar.............
似乎一切都很好,但如果數組是這樣
.............................foo
而且對塊的其他寫變成
bar.............................
問題是不言自明的。正則表達式不會在單獨的檢查中找到字符串。我們可以一次分配較大的緩衝區大小來包含頁面,但這是一個巨大的浪費。
所以,我有一個想法 - 拆分緩衝區。讓我們在第一次寫說我們得到這些緩衝區
............................foo
------------------------------- // this one is empty
那麼,第二次寫操作後,我們得到這個
............................foo
bar............................
現在,如果有一個正則表達式的功能,將計算這些緩衝區爲一體,將是巨大的。我可以簡單地保持交替的緩衝區,並拉動我想要的字符串,而不用在RAM中分配大量空間。
是否有一個C++正則表達式庫可以做到這一點?有任何想法嗎?
是的,我知道,它很簡單,但我是一個表現怪胎,我想盡可能少地將東西複製到臨時緩衝區。我會這樣做,除非我找不到一種方法將這兩個緩衝區一次性提供給正則表達式。 –