2017-04-07 65 views
-2

讓具有C語言函數是這樣的:蟒蛇正則表達式替換的功能體用C

int main(){ 
    if(1){ 
     printf("1"); 
    } 
} 

我需要的是找到函數體中{ }與空字符串替換它。這讓我困惑,因爲{ },它可以無限嵌套。有沒有辦法找到這樣的機構,或者我將不得不使用堆棧或一些變量來存儲嵌套。

+2

你不能只用正則表達式。由於正則表達式是上下文不敏感的。就像你說的,你可以保持一個數{然後你應該沒問題。 –

+0

[RegEx match open tags not except XHTML self-contained tags]可能重複(http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags) –

回答

1

除非這是一個純粹爲了興趣而進行的正則表達式學習項目,否則應該考慮採取更專業的方法。你似乎已經決定,正則表達式是沒有考慮替代方案的適當方法。

我建議考慮使用類似pycparser,這將做所有繁重的你和形式,可以很容易地做你想做的展現節目。

+0

呃我不能使用非標準庫。 – gragas01

+0

@ gragas01那麼這個任務是不可能的,除非它意味着寫一個C語法分析器。 –

+0

所以這是由一些講師提出的問題,你正在尋求幫助作業?說實話,說實話,如果是這樣的話 – holdenweb