2010-08-13 30 views
1

我有一個很大的代碼庫,我們需要在特定函數的參數中進行模式更改。正則表達式在所有文件中的函數調用中查找/替換參數模式

即所有參數的函數foo()從格式something.anotherThing更名將被更名爲something_anotherThing

的參數可以是任何東西,但總是會在一個str1.str2格式。這隻適用於這一個函數的參數,所有其他代碼應該保持不變。

例如 FOO(AX) - > FOO(A_X) FOO(a4.b6) - > FOO(a4_b6)

有什麼辦法,我可以使用正則表達式或工具實現它,在那裏我可以做到這在所有文件的一步,爲一個特定的功能?

+0

是的,你在Linux,Windows上使用什麼類型的IDE? – wheaties 2010-08-13 13:50:32

+0

不少IDE爲重構提供支持。但是,我們需要更多關於您當前使用的語言/ IDE的線索。 (如果有的話) – 2010-08-13 13:50:43

+0

我可以訪問Windows和Linux,因此可以在Windows中使用工具或在Linux中使用正則表達式(命令)。 目前在Windows中使用Notepad ++。 – 2010-08-13 13:51:38

回答

0

如果函數將只有一個參數,它會很容易:

使用的工具,它能夠搜索並在多個文件替換,例如。 TextCrawler

而不是選擇正則表達式選項卡,並填寫:

正則表達式:

(foo\([^)]+)(\.)([^)]+\)) 

替換:

$1_$3 

這是行不通的,如果有在功能更多的參數。但是您可以再次單擊「替換」按鈕,然後再次顯示沒有找到結果。您必須最多n次執行此操作,其中n =任何函數中參數的最大數目。

+0

該函數只有一個參數。將嘗試您的解決方案,謝謝! – 2010-08-13 15:39:08

+0

哦..謝謝!工作。只需在Notepad ++中用'\ 1_ \ 3'替換'$ 1_ $ 3':-) – 2010-08-16 10:21:31

相關問題