Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Vergleich Unit RegularExpressions mit RegExpr (https://www.delphipraxis.net/159377-vergleich-unit-regularexpressions-mit-regexpr.html)

ULIK 25. Mär 2011 11:23

Delphi-Version: XE

Vergleich Unit RegularExpressions mit RegExpr
 
Hi,

im Zuge einer Projekt-Umstellung von Delphi 2007 auf XE kam mir die Unit RegExpr von Andrey V. Sorokin in die Finger. Diese wird in dem Projekt verwendet und ich dachte mir, ich könnte sie bei der Umstellung auf XE eliminieren. Nun habe ich ein paar Fragen zu den Modifiern:

Soweit ich es sehe sind alle Modifier vorhanden nur die TRegEx aus RegularExpressions (XE) scheint keinen Greedy - Modifier zu kennen. Kann man hier nicht umschalten oder wie muß man den Greedy Modus ein/ausschalten?

Alternativ dazu: gibt es Version von RegExpr die mit Delphi XE läuft?


Grüße,
Uli

s-off 25. Mär 2011 13:29

AW: Vergleich Unit RegularExpressions mit RegExpr
 
Hi,

ich benutze die XE nicht, daher kann ich nur mutmaßen, bzw. das wiedergeben, was ich selber gelesen habe.

Zitat:

Internally the RegularExpressions unit uses the RegularExpressionsCore unit which defines the TPerlRegEx class. TPerlRegEx is a wrapper around the open source PCRE library developed by the author of this website. Thus both the RegularExpressions and RegularExprssionsCore units use the PCRE regex flavor.
Quelle

Dort steht also, dass die in Delphi-XE integrierte Reg-Ex-Unit, genau wie auch die TPerlRegEx, auf der PCRE-Library von Phillip Hazel aufsetzt. Und diese unterstützt definitiv das ? als Greedy-Modifier.
Bestätigen kann ich das hinsichtlich der TPerlRegEx-Unit.

Auch die 2. Auflage von 'Reguläre Ausdrücke kurz und gut' (O'Reilly) bestätigt dieses auf Seite 96.

Es würde mich auch ehrlich gesagt sehr wundern, wenn ein Reg-Ex-Dialekt dieses grundlegende Funktionalität nicht unterstützen würde.

Hast Du es schon mit /g probiert? So funktioniert es ja bei Sorokin (iirc).

Solltest Du bei Deinen Recherchen nicht weiterkommen, dann kann ich Dir TPerlRegEx als Alternative nur wärmstens empfehlen. Ihr Sprachumfang ist größer als der der Unit von Sorokin.

ULIK 25. Mär 2011 13:43

AW: Vergleich Unit RegularExpressions mit RegExpr
 
Danke! Der Punkt scheint zu sein, daß man direkt mit RegularExpressionsCore (TPerlRegEx) anstatt der Recordkapselung in RegularExpressions arbeiten muß, wenn man das Greedy braucht. Fein, fein, dann kann ich nun beruhigt umstellen.

Grüße,
Uli


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:25 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