Je souhaite renvoyer des correspondances à partir d'une chaîne d'expression régulière. La chaîne est regex:Expression régulière .NET pour l'analyse d'expressions régulières
(?<TICKER>[A-Z]+)(?<SPACE>\\s)(?<MONTH_ALPHA_ABBREV>Jan|Feb|Mar|Apr|May|Jun|Jul|Sep|Oct|Nov|Dec)(?<SPACE>\\s)(?<DAY>\\d+)(?<SPACE>\\s)(?<YEAR_LONG>[2][0][0-9][0-9])(?<SPACE>\\s)(?<STRIKE_DOLLAR>\\d+(?=[.]))[.](?<STRIKE_DECIMAL>(?<=[.])\\d+)(?<SPACE>\\s)(?<PUTCALL_LONG>Call|Put)
Et je veux obtenir pour tous les matchs des noms de groupe et tous les éléments entre crochets (y compris les crochets) en dehors de la parenthèse ouverte et fermée. J'ai cette regex:
((?<=[<])([A-Z]|[_])+(?=[>]))|(\\[.\\])
Mais cela renvoie les éléments de crochet entre parenthèses. Pour ces plus spécifiques sont les matches que je veux de la regex en haut (garder à l'esprit ce doit être flexible pour tout regex):
TICKER
SPACE
MONTH_ALPHA_ABBREV
SPACE
DAY
SPACE
YEAR_LONG
SPACE
STRIKE_DOLLAR
[.]
STRIKE_DECIMAL
SPACE
PUTCALL_LONG
@Chris: FYI, les expressions régulières ne font pas partie du langage C# - elles font partie du .NET Framework. –
"meta regex"! mec, vous avez mal à la tête ... –
Vous est-il venu à l'esprit que les expressions régulières * décrivent * une langue ordinaire? Ce qui signifie qu'ils ne peuvent pas être * eux-mêmes * une langue régulière. Le traitement d'expressions régulières avec des expressions régulières n'est donc pas possible. – Tomalak