簡體   English   中英

在Visual Studio 2003下搜索並替換為正則表達式

[英]Search and replace with regular expressions under Visual Studio 2003

我有一個很大的C ++代碼庫,我在一些函數變得多余的地方進行一些重構,因此應該刪除它們。 所以我想替換

MyFunc(Param)

Param

其中,參數可以是文字值,變量,函數調用等...從在線幫助中,我收集到搜索參數應為

MyFunc/({+}/(

和替換參數簡單

/1

但這給我的模式帶來了語法錯誤。 我是在Visual Studio下搜索並替換為正則表達式的新手。 可以輕松實現上述目標嗎? 我在這個網站上看過類似的問題,這表明我大致上處於正確的軌道,但似乎缺少一些東西。

編輯:如果您可以回答上述問題,那么它是否屬於類引用的一部分,例如

MyClass.MyFunc(Param) 

要么

MyClass->MyFunc(Param)

(FWIW,我也拿起了VisualAssist的副本,希望它可以做到這一點,但似乎無法處理這種情況)。

第二次編輯:感謝Joe的正確回答,但是對於其他使用這種方法的人,請當心一些陷阱,

MyFunc(MyArray[MyOtherFunc(x)])

最終為

MyArray[MyOtherFunc(x])

MyFunc((SomeType)x)

最終為

(SomeTypex)

一旦進行搜索以檢查要替換的內容之前,請確保已打開修改后的文件,以防萬一需要撤消,並在開始之前備份源文件,這樣效果很好。 即使列出了陷阱,仍然可以節省大量時間。

嘗試以下方法:

查找= MyFunc\\({[^\\)]*}\\)替換= \\1

您的斜杠是錯誤的方式,並且括號( {+} )中的表達式無效。

這不適用於包含函數調用或其他使用括號的參數-平衡括號匹配問題無法使用正則表達式解決。

暫無
暫無

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

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