我有這個枚舉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