Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   C# Regulärer Ausdruck funktioniert nicht unter .NET (https://www.delphipraxis.net/40741-regulaerer-ausdruck-funktioniert-nicht-unter-net.html)

mirage228 20. Feb 2005 13:10


Regulärer Ausdruck funktioniert nicht unter .NET
 
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:46 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz