正则表达式从类中排除

时间:2010-09-07 08:31:12

标签: regex

我正在构建一个动态代码生成器并使用正则表达式。 鉴于此文本块

##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 个答案:

答案 0 :(得分:2)

尝试在正则表达式上使用lazy:

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

这将匹配尽可能少的字符。

答案 1 :(得分:1)

尝试

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