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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章