我有这个枚举defitiion文件:C#正则表达式匹配枚举体型
public enum IdentityState
{
[EnumMember]
New = 0,
[EnumMember]
Normal = 1,
[EnumMember]
Disabled = 2
}
{ some other data... }
而且要匹配这个枚举的唯一机构之间({}), 比赛结果,我想要的是:
{
[EnumMember]
New = 0,
[EnumMember]
Normal = 1,
[EnumMember]
Disabled = 2
}
我做正则表达式模式是这样的:
public enum.*\w.*(?<enumBody>[\S|\s|]+\}{1})
但结果是这样的:
{
[EnumMember]
New = 0,
[EnumMember]
Normal = 1,
[EnumMember]
Disabled = 2
}
{ some other data... }
这是不是我所期望,因为它也包括未来{ some other data }
字符串,我不想。我不知道如何让模式停止后首先}
。
不是第一个。*还需要做出懒惰?它让我觉得你在最后分组了一个大括号,但是。*意味着你可以在枚举和{之间有任意数量的东西。 – Chris 2010-06-29 11:29:59
@Chris是的,你是对的。正则表达式不是正确的代码解析工具(单独使用时)。 – Amarghosh 2010-06-29 11:36:03