Masipulami: Problem mit Regular Expression

Beitrag lesen

Hallo zusammen,

ich habe ein Problem mit ein (paar) Regular Expressions und hoffe ihr könnt mir weiterhelfen.

Ich habe als Ausgangsbasis folgenden String:
for200711281234567890123456789.xml

Nun muss ich aus diesem String ein mal das Datum extrahieren (...20071128...) und dann noch mal die 19-stellige Zahl danach.
Momentan hab ich das so gelöst:

my $string = "for200711281234567890123456789.xml";

my $week_curr = $string
my $ts_curr = $string;

get week data from $FileApplic

$week_curr =~ s/.xml$//;
$week_curr =~ s/([1]{3})//;
$week_curr =~ /([2]{8})/;

get timestamp from $FileApplic

$ts_curr =~ s/.xml$//;
$ts_curr =~ s/([3]{3})//;
$ts_curr =~ s/([4]{8})//;

So funktioniert es auch, aber ist es nicht möglich jeweils die 3 Zeilen für die RegEx in eine RegEx zusammen zu fassen?
Sitz da jetzt schon den halben Tag dran und bekomms einfach nicht hin die RegEx zu verschönern.

Hoffe mir da kann da jmd. weiterhelfen!

Viele Grüße,
Masipulami


  1. a-z ↩︎

  2. 0-9 ↩︎

  3. a-z ↩︎

  4. 0-9 ↩︎