簡體   English   中英

用於將字符串重復拆分為較小部分的數據結構

[英]Data structure for repeatedly splitting a string into smaller parts

我正在嘗試編寫一個函數,該函數針對輸入字符串反復匹配正則表達式模式。 該函數應將模式1與輸入字符串進行匹配,並將其拆分為匹配和不匹配段的一部分。 模式2隨后將用在那些不匹配的段上,直到使用了所有輸入模式。 然后return參數將是所有子字符串的數組。

簡單的例子:

input string "abcdefgh" against patterns "bc" and "f", would first split it into "a", "bc" and "defgh". Subsequently pattern "f" would be run against the "a" and "defgh" part and splitting the later into "de", "f", and "gh". Return argument {"a", "bc", "de", "f", "gh"}

(我還將保留一個帶有匹配/不匹配信息的關聯數組)

但是我的問題是:哪種數據結構最適合執行此類任務? 以及如何最好地解決這一問題,感覺就像是以遞歸的方式工作。

想到一個鏈接列表,每當您將一個正則表達式與特定節點匹配時,都將刪除有問題的節點並在其位置插入3個鏈接節點。

特定的“節點”結構可以像具有3個字段的結構一樣簡單, char*用於字符串, bool (c中的char )用於確定是否匹配,以及指向下一個節點的指針。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM