die sich auf bereits bestehende Gruppe in regex, c #
Frage
Ich habe einen regulären Ausdruck, wo
%word% can occur multiple times, separated by a "<"
% Wort% als ".*?"|[a-zA-Z]+
definiert
so schrieb i
(".*"|[a-zA-Z]+)([<](".*"|[a-zA-Z]+))*
Gibt es eine Möglichkeit ich es mit einfangenden Gruppen schrumpfen kann?
(".*"|[a-zA-Z]+)([<]\1)*,
Aber ich glaube nicht, \1
verwendet werden kann, da es den ersten Fang bedeuten würde wiederholen, wie ich nicht wissen würde, was gefangen genommen wurde, da es eine Zeichenfolge in Anführungszeichen oder ein Wort sein kann.
Jede Sache ähnlich ich kann beziehen verwenden, um die zuvor geschriebene Gruppe entspricht. Ich arbeite in C #.
Lösung 2
Da die Unterstützung noch für das Feature nicht da ist, habe ich einen String replacer, wo ich die bestimmten Worte schrieb ich brauche, um durch regex ersetzt %% mit und schrieb dann das Programm für die, die durch den regulären Ausdruck zu ersetzen, Text.
Andere Tipps
String.Format Wiederholung zu vermeiden, mit und ohne gibt es keine Möglichkeit, die regex Gruppe zu wiederholen wörtlich
String.Format("{0}([<]{0})*", @"("".*""|[a-zA-Z]+)")