我正在构建一个动态代码生成器并使用正则表达式。 鉴于此文本块
##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]类中排除“##”字符,以便它不被识别。有这样的方法吗?
答案 0 :(得分:2)
尝试在正则表达式上使用lazy:
##[\S\s]+?##
这将匹配尽可能少的字符。
答案 1 :(得分:1)
尝试
##(?:[^#]|#(?!#))+##