Hi I'm trying to understand regurlar exprresions in the folowing only one works (merilyn14) every thing else comes out in FoxyM and i'm not sure why can you help?
In print staitmets give the example of what i'm exspecting
#!/usr/bin/perl @Files =( "filename=merilyn14.jpg.jpeg", "filename=003_Merilyn23.jpg.jpeg", "filename=890FoxyM.jpg.jpeg", "filename=006.jpg.jpeg" ); foreach my $file (@Files) { if ($file =~ m/filename=(\d.*?)([a-zA-Z].*?)\.j/i) { $nFold =$2; $nFile = $1 . $2 . ".jpg"; print "FoxyM New fold = $nFold file = $nFile\n"; } elsif ($file =~ m/filename=([a-zA-Z].*?)(\d.*)\.j/i) { $nFold =$1; $nFile = $1 . $2 . ".jpg"; print "merilyn14 New fold = $nFold file = $nFile\n"; } elsif ($file =~ m/filename=(\d.*?)_([a-zA-Z].*)(\d.*?)\.j/i) { $nFold =$1 ."_" . $2; $nFile = $1 ."_" . $2 . $3 . ".jpg"; print "003_Merilyn23 New fold = $nFold file = $nFile\n"; } elsif ($file =~ m/filename=(\d.*?)\.j/i) { $nFold ="FileNum"; $nFile = $1 . ".jpg"; print "006 New fold = $nFold file = $nFile\n"; } }
In reply to RegEx Help by Brian268
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |