2010-09-07 111 views
0

我正在構建動態代碼生成器並使用正則表達式。 由於此段文字正則表達式排除類別

##Properties 
          publiC#PropertyType# #NewProperty# 
          { 
           get; set; 
          } 
## 
##Events 
          public event #EventName#-#EventExt#; 
## 
          } 
          #endregion 

我希望能夠提取到文本塊,即:

##Properties 
          publiC#PropertyType# #NewProperty# 
          { 
           get; set; 
          } 
## 

##Properties 
          publiC#PropertyType# #NewProperty# 
          { 
           get; set; 
          } 
## 

我一直在嘗試使用此##[\S\s]+##作爲我的表達,但它採取並加入到一個。所以我想知道是否有一種方法可以從[\ S \ s]類中排除「##」字符,這樣它就不會被識別。有這樣的方法來做到這一點嗎?

回答

2

嘗試使用懶惰的正則表達式:

##[\S\s]+?##

這將匹配儘可能少的字符越好。

1

嘗試

##(?:[^#]|#(?!#))+##