Visual Studio多行reg-exp删除重复的using语句

时间:2011-05-02 15:24:33

标签: regex visual-studio-2008 duplicates

我需要正则表达式来删除重复的using语句。

using NS.SN.Services.Common;
using NS.SN.Data.BaseRegistry;
using NS.SN.Data.DataContracts.Registry;
using NS.SN.Services.Common; <-- this one must go
using NS.SN.Services.DataContracts;
using System;
using System.Collections.Generic;
using System.Transactions;
using CodeEnums = NS.SN.Data.DataContracts.Enums.CodeEnums;
using System.Linq;

问题是这个reg-exp不起作用,因为([。:b] * \ n)*只匹配第一个换行符。我可以修复这个reg-exp吗?

  

{:b *的使用:bNS.SN.Services.Common;([.: B] * \ n)的*}使用:bNS.SN. \服务\共同;:B * \ n

1 个答案:

答案 0 :(得分:2)

将其用作“查找内容”:

{:b*using:bNS\.SN\.Services\.Common;(.*\n)*}using:bNS\.SN\.Services\.Common;:b*\n

和“替换为”:

\1

<强>更新
我完全错过了角色组内的点:
[.:b]*将匹配点或冒号或字母b,因为它在字符类中!您的意思是(.|:b)*,其中:b是多余的,因为它包含在“任何字符”(.)中,所以它应该是.*。请参阅上面更新的正则表达式。