Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi [TRegExp]Alle Zeichen, außer schließende Klammer finden (https://www.delphipraxis.net/76271-%5Btregexp%5Dalle-zeichen-ausser-schliessende-klammer-finden.html)

Aenogym 1. Sep 2006 08:56


[TRegExp]Alle Zeichen, außer schließende Klammer finden
 
hi leute,

ich arbeite mit der komponente TRegExp, die ja auch oft in der DP vorgeschlagen wird.
ich ersetze bestimmte dinge in meinem string.
folgend mein ausgangsstring, mein regulärer ausdruck und mein ersetzungs-string:
Code:
ausgangs-string:
\s(4;8)

regular expression:
\\s\((.*);(.*)\)

ersetzungs-string:
\\a($1;$2)
damit wird mir \s(4;8) umgewandelt in \a(4;8). klappt alles ganz gut.
wenn mein ausgang-string aber nun \s(4) J;8 \s(3) lautet, dann wird das erste \s ebenfalls in ein \a umgewandelt, da er ja das semikolon und die letzte klammer findet.
das soll er aber nicht, weil es sich hier lediglich um \s(4) handelt, welches kein zweites -durch semikolon getrenntes- argument enthält und somit auch nicht durch \a ersetzt werden soll.

meine frage ist nun:
wie muss der reguläre ausdruck lauten, wenn ich im ersten unterausdruck alle zeichen außer einer schließenden klammer finden möchte?
(.*\){0,0}.*) klappt leider nicht...

danke,
aeno

Flocke 1. Sep 2006 08:59

Re: [TRegExp]Alle Zeichen, außer schließende Klammer finden
 
Ersetze mal das "." durch "[^)]", dann nimmt er dort keine schließenden Klammern.

Aenogym 1. Sep 2006 09:13

Re: [TRegExp]Alle Zeichen, außer schließende Klammer finden
 
hey danke! :)

das ging ja locker-flockig schnell :mrgreen:

aeno


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