Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   RegEx Problem (https://www.delphipraxis.net/108228-regex-problem.html)

Telefonkabel 9. Feb 2008 10:19


RegEx Problem
 
Hy!
Hab schonwieder ein Problem.
Und zwar möchte ich mittels regulären Ausdrücken Strings finden.
Mein Problem dabei ist, dass ich etwas suche, bis ein Teilstring auftritt.
Also z.B.

suchtext = te_s.t't_e/st

te_s.t't_e/stegalegalte_s.t't_e/st

Ich möchte nun also testtest finden, bis egal auftritt, wobei das aber nicht auftreten muss.
Hab es versucht so zu lösen:
[^(egalegal)]+
das Problem ist, dass er mir dann nur das 1. t ausgibt.

Kann mir jemand helfen?

(P.S. Das Bsp. mag anders zu lösen sein, aber mir geht es eben darum, dass er sucht, bis das erste mal ein Teilstring auftaucht, hier eben "egalegal")

Mackhack 9. Feb 2008 10:36

Re: RegEx Problem
 
Hm,

mit PosEx, Pos, Length, Copy, Delete, Insert, ReplaceString solltest du weiterkommen. 2 Threads weiter unten hatten wir das Problem erst!

mirage228 9. Feb 2008 13:06

Re: RegEx Problem
 
Hey,

Vielleicht helfen dir ja "Assertions" in Deinem RegEx weiter:

http://de2.php.net/manual/de/referen...ern.syntax.php
(Abschnitt "Assertions" etwas weiter unten).

mfG
mirage228

omata 9. Feb 2008 13:56

Re: RegEx Problem
 
mist, falschen Knopf gedrückt. egal.

Dax 9. Feb 2008 14:18

Re: RegEx Problem
 
Ich schätze mal, es geht um einen Teilstring, der von Anfang bis "egalegal" geht - oder den ganzen String. Das lässt sich prima mit negativen Lookaheads machen.

Telefonkabel 10. Feb 2008 13:56

Re: RegEx Problem
 
Erstmal danke an alle. ;)

@Mackhack
Ja, das ist mir schon klar, nur wollte ich es gerne über RegEx lösen. ;)


Zitat:

Zitat von Dax
Ich schätze mal, es geht um einen Teilstring, der von Anfang bis "egalegal" geht - oder den ganzen String. Das lässt sich prima mit negativen Lookaheads machen.

Nun, ich weiß worauf die hinaus willst, aber hier ist genau das Problem. (Ich hab wohl das Bsp. wirklich falsch gewählt)
Es ist eher der Fall, das mein Text so aussieht:
testtestegalegaltesttestegalegaltesttestegalegal usw.

Da kann ich leider nichts mit Lookaheads machen, oder doch? (vllt. weiß ich auch gerade nicht, worauf du hinaus willst)
Und ich möchte dann auch wirklich nur den Text, der an der Stelle von testtest steht haben, sprich: egalegal, soll immer rausgeschnitten werden.

Ich hoffe ihr könnt mir trotzdem noch helfen.


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