Je cette defitiion enum dans le fichier:C# Regex pour correspondre le type de carrosserie ENUM
public enum IdentityState
{
[EnumMember]
New = 0,
[EnumMember]
Normal = 1,
[EnumMember]
Disabled = 2
}
{ some other data... }
et que vous voulez faire correspondre que le corps de cette ENUM (entre {}), le résultat du match que je veux est:
{
[EnumMember]
New = 0,
[EnumMember]
Normal = 1,
[EnumMember]
Disabled = 2
}
Je fais modèle regex comme ceci:
public enum.*\w.*(?<enumBody>[\S|\s|]+\}{1})
mais le résultat est le suivant:
{
[EnumMember]
New = 0,
[EnumMember]
Normal = 1,
[EnumMember]
Disabled = 2
}
{ some other data... }
Ce qui est pas ce que je pense, car il inclut également la prochaine chaîne { some other data }
que je ne veux pas. Je ne sais pas comment faire un motif pour arrêter après le premier }
.
N'est-ce pas le premier. * Qui a aussi besoin d'être rendu paresseux? Il me semble que vous correspondez à une parenthèse bouclée groupée à la fin mais le. * Signifie que vous pouvez avoir n'importe quelle quantité de substance entre l'enum et le {. – Chris
@Chris ouais, vous avez raison. Regex n'est pas le bon outil pour l'analyse de code (lorsqu'il est utilisé seul) pour commencer. – Amarghosh