Hallo,
ich beschäftige mich derzeit mit dem System.Text.RegularExpressions Namespace des .NET Frameworks.
Laut Handbuch wird eine Ähnliche Funktionialität wie in "Perl 5" geboten.
Jedoch wird der Modifier "?R" für Rekursion nicht erkannt und eine ArgumentException
Exception beim Erstellen der RegEx Klasse ausgelöst.
Der gesamte Ausdruck sieht wie folgt aus:
Delphi-Quellcode:
// C# (mit zusätzlichen Escape-Sequenzen)
ClassBodyRegEx = new Regex("\\
{(((?>[^{}]+)|(?R))*)\\}", RegexOptions.Singleline);
// Delphi Win32 (benutzt externe Perl5-Kompatible RegEx Library)
ClassBodyRegEx := RegexCreate('
\{(((?>[^{}]+)|(?R))*)\}', [rcoSingleLine]);
Kann ich die .NET Regexes dazu "überrden", den Modifier für Rekursion zu akzeptieren?
Wenn nein, wie kann ich den Ausdruck ohne Rekursion am besten Schreiben?
mfG
mmirage228