VS.net IDE中,使用正則表達式進行查找、替換

2004年10月22日 14:44 - (閱讀:4507;評論:8) href="http://blog.joycode.com/ghj/Services/Pingback.aspx" rel="pingback" />
VS.net 的查詢、替換功能也是支持正則表達式的,不過它的正則表達式跟標準的有點不同,比如::q, :b, :z {}等,這些具體的差異信息請看:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsintro7/html/vxgrfRegularExpressionsS.asp
我們就來看一個具體的實例:
比如我們有這樣一段代碼:
              Assert.AreEqual(null, property._AcquiredDate);
              Assert.AreEqual(null, property._AcreageNumber);
              Assert.AreEqual("San Jose", property._City);
              Assert.AreEqual(null, property._Country);
              Assert.AreEqual("Santa Clara", property._County);
              Assert.AreEqual(null, property._DETAILS);
              Assert.AreEqual("1", property._FinancedNumberOfUnits);
我們想通過替換的方式,把它變成下面這樣的代碼:
              property._AcquiredDate = null;
              property._AcreageNumber = null;
              property._City = "San Jose";
              property._Country = null;
              property._County = "Santa Clara";
              property._DETAILS = null;
              property._FinancedNumberOfUnits = "1";
這個需求,在寫單元測試的時候,會發現經常需要用到。要實現這個功能,我們就可以使用VS.net查詢替換功能中的正則表達式。如下圖所示:
VS.net IDE 中的查找替換功能中使用 正則表達式  
在使用選項中選擇“正則表達式”,然後
查找內容爲“Assert/.AreEqual/({[^,]+}, {[^/)]+}/);”;
替換內容爲:“/2 = /1;”;
然後全部替換,OK,我們可以省下大量的時間幹其他事情了。
如果你想反向替換,也就是把上面的結果替換爲最上面的代碼,這時候,
查詢的內容爲:“{[^:b=]*}:b*=:b*{[^;]*};”,
替換內容爲:“Assert.AreEqual(/2, /1);”。
上面的範例,其實是本月北京 .net Group 活動的內容的一小部分。本月北京.net Group 活動主題是正則表達式。對.net 下正則表達式感興趣的北京網友,建議參加這次.net Group 活動,本次活動時間 10 月 28 日下午18點半,更具體的信息請看以下連接:
  http://www.mscommunity.com/UserGroup/Discussion/default.aspx
 
發佈了144 篇原創文章 · 獲贊 1 · 訪問量 30萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章