我有一個使用空格結構的大型源代碼文件。我只是在結構化文本文件的一個特定部分,它看起來像這樣有興趣:從空間縮進結構化文件中有效地提取文本塊
SP : STRUCT
Spare : STRUCT //Spare
Val : INT := 100;
UpLim : INT := 100;
LoLim : INT ;
Def : INT := 100;
Prot : INT := 2;
END_STRUCT ;
END_STRUCT ;
正如你可以看到,有一個定義的「SP」結構(這將在整個源代碼加以點綴,但具有相同的名稱),其中包含一個或多個相同類型的其他結構。在這個例子中,只有一個叫做'備用'。每個結構將始終包含相同的5個元素。如果沒有定義值,則爲零。
提取結構名稱及其元素值的最優雅方式是什麼?一旦提取出來,它們將被存儲在字典中以便快速和容易地訪問。
我試過使用正則表達式,但我不太確定這是一個非常有效的解決方案,這個特定的問題。通常採取什麼辦法來解決這樣的問題?