2011-02-13 75 views
0

有什麼辦法可以做到這一點?Visual Studio 2008找到替換正則表達式

查找:

if (value) _select.Add(X); else _select.Remove(X); 

,並替換:

addToSelect(value1, _select1, X); 

,其中X是,我不知道一個變量,我想它的替代複製。

預先感謝您!

+0

你有ReSharper的5個可用? – Snowbear 2011-02-13 13:44:26

+0

嗯......是的。我想我是這樣做的,因爲我知道我在某個時候禁用了它。我怎樣才能使用那個? – 2011-02-13 14:19:25

回答

1

使用帶有選項「使用正則表達式」這個正則表達式「查找和替換」:

if:[email protected]\(:[email protected]:[email protected]\):[email protected]\[email protected]:[email protected]\{@:[email protected]\[email protected]:[email protected]_select:[email protected]\.:[email protected]:[email protected]\({.#}\):[email protected];:[email protected]\[email protected]:[email protected]\}@:[email protected]\[email protected]:[email protected]:[email protected]\[email protected]:[email protected]\{@:[email protected]\[email protected]:[email protected]_select:[email protected]\.:[email protected]:[email protected]\(\1\):[email protected];:[email protected]\n*:b*\}* 

,並用此替代它:

addToSelect(value1, _select1, \1); 

得益於:乙@和\ n @它也將與空間趕上版本:

if ( value ) _select. Add( X ); else _select.Remove( X ) ; 

或版本,在多行:

if (value) 
    _select.Add(X); 
else 
    _select.Remove(X); 

但是有一個警告,X在您的查找示例中出現了兩次。正則表達式不會檢查第二X等於第一X.第二x只是忽略,

addToSelect(value1, _select1, \1); 

永遠是第一X.

編輯X:更新的正則表達式檢查兩個X總是相等的。

編輯2:更新的正則表達式也趕上與{和}版本:

if (value) 
{ 
    _select.Add(X); 
} 
else 
{ 
    _select.Remove(X); 
} 
0

不要有VS2008,但VS2010中我會嘗試這個(不知道這個選項是否可用,2008年):

1)Ctrl+Shift+HEdit -> Find and replace -> Replace in files
2)在Find options面板中選擇use regular expressions

我我不是正則表達式的主人,所以我不確定它是否會用正則表達式替換,或者只用正則表達式搜索,而用純文本替換。

+0

我試過了,它沒有工作。有一些與「標記表達」 - {},但我無法弄清楚。 – 2011-02-13 13:32:48

相關問題