我需要一個接口在C#中添加到類和需要匹配,如果已經聲明:正則表達式匹配結腸
public partial class Client
需要被
public partial class Client: IEntity
當發生已存在
public partial class Client: IEntity
必須保持
我已將此公開部分類(\ w +)轉換爲「公開部分類$ 1:IEntity」
謝謝。
我需要一個接口在C#中添加到類和需要匹配,如果已經聲明:正則表達式匹配結腸
public partial class Client
需要被
public partial class Client: IEntity
當發生已存在
public partial class Client: IEntity
必須保持
我已將此公開部分類(\ w +)轉換爲「公開部分類$ 1:IEntity」
謝謝。
如果您只想處理特定類型的格式(即「public partial class'classname'」)。像這樣的東西會做:
class Program
{
static readonly Regex re = new Regex(@"^public partial class[^:]+$", RegexOptions.Compiled);
static string Replacement(string stringToReplace)
{
return re.Replace(stringToReplace, match => match.Value + ": IEntity");
}
static void Main()
{
string newString = Replacement("public partial class Client");
Console.WriteLine(newString); //output: "public partial class Client: IEntity"
newString = Replacement("public partial class Server");
Console.WriteLine(newString); //output: "public partial class Server: IEntity"
newString = Replacement("public partial class Server: IEntity");
Console.WriteLine(newString); //output: "public partial class Server: IEntity"
}
}
其中:
我想說一個直線上升的正則表達式是一種危險的做法。
如果你有:
public partial class Client: RichClient
更好地確保不添加額外的:IEntity
如果可能的話,你也許可以得到完整的一行文字,然後寫一個函數來確定哪些去做。
跨越多行會出現問題嗎?
看來您正在尋找這樣的事情
(get-content test.cs -raw) -replace 'public partial class (\w+)(:.*)?$','public partial class $1: IEntity'
目前尚不清楚你想在這裏做什麼。 – hwnd