2011-04-08 50 views
0

我正在嘗試編寫一個正則表達式,我可以在搜索和替換對話框中使用以更新大量AssemblyInfo.cs文件中的版權日期。使用RegEx替換版權日期

版權擁有一系列日期或單一日期。日期附近的相關文字也有所不同。

[assembly: AssemblyCopyright("Copyright © 2008 - 2010 My Company.")] 
[assembly: AssemblyCopyright("Copyright © 2008 My Company.")] 
[assembly: AssemblyCopyright("Copyright © 2005 - 2010 My Company.")] 
[assembly: AssemblyCopyright("Copyright © 1999")] 

我的正則表達式到目前爲止

Find: (\D*\d\d\d\d) *-*\d*(\D*) 
Replace: $1 - 2011$2 

正如你可以從我的結果看,2號線缺少2011年和我公司之間的空間。

[assembly: AssemblyCopyright("Copyright © 2008 - 2011 My Company.")] 
[assembly: AssemblyCopyright("Copyright © 2008 - 2011My Company.")] 
[assembly: AssemblyCopyright("Copyright © 2008 - 2011 My Company.")] 
[assembly: AssemblyCopyright("Copyright © 2008 - 2011")] 

我在做什麼錯?我認爲這與懶惰/貪婪的表情有關。

回答

1

這應做到:

Find: (.*?\d{4})(\s*-\s*\d{4})?(.*) 
Replace: $1 - 2011$3 

您可以在線here嘗試。

+0

工程就像一個魅力。唯一的警告是任何與**版權2011年**,變成** Copyright 2011 - 2011 **。我不確定是否可以用正則表達式來解決這個問題,所以我只是做了一個雙重的事情,在事實之後解決這些問題。 – Osiris 2011-04-12 13:49:53