AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Portierung Perl nach Delphi - Problem mit Regular Expression
Thema durchsuchen
Ansicht
Themen-Optionen

Portierung Perl nach Delphi - Problem mit Regular Expression

Ein Thema von mischerr · begonnen am 5. Mär 2010 · letzter Beitrag vom 5. Mär 2010
 
Benutzerbild von mischerr
mischerr

Registriert seit: 6. Feb 2004
Ort: Konz
243 Beiträge
 
Delphi 12 Athens
 
#1

Portierung Perl nach Delphi - Problem mit Regular Expression

  Alt 5. Mär 2010, 10:51
Hallo.

Ich bin kein Perl-User, muss aber eine Perl-Funktion in Delphi abbilden die eine RegEx nutzt mit der ich ein Verständnissproblem habe.

Hier der Auszug der Perl Funktion:
Code:
my $num = $_[0]; // Übergebener Parameter: Ein Integer 0..max(integer)
my @parts;
my $count = 0;
my $part;
if ($num =~ m/001(\d{3})$/x) {
  $num =~ s/00(1\d{3})$//x;
  $part = $1;
  unshift @parts, [ $part, $count ];
  $count += 2;
}
Es geht hier um die Ausdrücke "m/001(\d{3})$/x" und "s/00(1\d{3})$//x".

Erster scheint zu prüfen, ob im übergebenem Integer als Text die Sequenz "001xxx" vorkommt und wenn ja, dann hält $1 die gefunden Sequenz!?
Zweiter scheint die gefundene Sequenz aus $num zu löschen. Aber warum "s/00(1\d{3})$//x" und nicht "s/001(\d{3})$//x"!?

Ist zufällig jemand fit in dem Thema?
  Mit Zitat antworten Zitat
 


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 12:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz