AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Frage zu regulären Ausdrücken

Ein Thema von PeterPanino · begonnen am 16. Aug 2007 · letzter Beitrag vom 16. Aug 2007
Antwort Antwort
PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#1

Frage zu regulären Ausdrücken

  Alt 16. Aug 2007, 13:50
Hallo, ich habe eine Frage zu regulären Ausdrücken (ich verwende die Delphi-Implementierung TRegExpr, die auf der allgemein üblichen Perl-Syntax aufbaut):

Vereinfachtes Beispiel: Der reguläre Ausdruck "D+" soll in einer Zeichenkette die Zeichenfolge "D" oder "DD" oder "DDD" usw. nur dann finden, wenn genau davor genau die Zeichenfolge "ABC" steht. D.h. im Suchstring "ABCDDD" soll "DDD" gefunden werden, in "CBADDD" soll "DDD" aber NICHT gefunden werden!

Natürlich kann ich mit dem regulären Ausdruck "ABCD+" die gesamte Zeichenkette "ABCDDD" und dann in dieser in einem nächsten Schritt mit "D+" das "DDD" finden.

Mich würde aber grundsätzlich interessieren, ob es bei regulären Ausdrücken möglich ist, im regulären Ausdruck selbst einen Ausdrucksteil so zu definieren, dass dieser nur als BEDINGUNG funktioniert, d.h. dass der Bedingungsteil zwar zutreffen muss, aber in der gefundenen Zeichenkette nicht enthalten ist.
Wenn man also im regulären Ausdruck "ABCD+" das "ABC" irgendwie als Bedingung definieren könnte, so würde dann damit im Suchstring "ABCDDD" tatsächlich nur die Zeichenkette "DDD" gefunden. Ist das irgendwie möglich?
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Frage zu regulären Ausdrücken

  Alt 16. Aug 2007, 13:58
Code:
(ABC)(?P<name>D+)
sollte es finden, und die Gruppe mit dem Namen "name" sollte dann das D oder DD oder ... enthalten
dein RegExp muß auch benannte gruppen unterstützen ...
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Frage zu regulären Ausdrücken

  Alt 16. Aug 2007, 14:00
Moin Peter,

auf www.regenechsen.de gibt es ein sehr schönes Tutorial für Einsteiger zum Thema reguläre Ausdrücke.
Vielleicht hilft Dir das schon weiter.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#4

Re: Frage zu regulären Ausdrücken

  Alt 16. Aug 2007, 14:06
Jede Regex Engine, die diesen Namen auch nur annähernd verdient, sollte Lookbehinds unterstützen:
Code:
(?<=ABC)D+
Zumindest anhand der Informationen der TRegExpr-Page würde ich der Komponente diese Bezeichnung verweigern .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Frage zu regulären Ausdrücken

  Alt 16. Aug 2007, 14:58
Vielen Dank an alle für die Informationen! Ich werde mir mal TPerlRegEx und RegexBuddy anschauen. Vor allem letzteres scheint ja ein sehr nützliches Werkzeug zu sein!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:31 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