Mellow Funks,
My problem (no sniggering up the back there) , in this case is
to build a regular expression to match and extract some significant
digits from some strings, given a mask with a placeholder. For example.
of course I am limiting myself for the moment to strings that are dot seperated, and to be honest the code I have works nicely, and allows me to extract the significant digits, but how might I apply this to include a placeholder for extention (in this case image-format) - it becomes more tricky. I am posting what has dribbled out my ears today in the hope that some of you lateral thinkers can widen the crack that floods my brain with light.numberedfiles.@.tif # mask with placeholder. foreground.001.tif foreground.002.tif # etc ad nauseum.
thanks.#!/usr/bin/perl -w use strict; my $mask = shift @ARGV; my @segment = split /\./, $mask; my @re = map { my $r; if ($_ eq '@') { $r ='(\d+)' } else { $r= '\w+' } $r } @segment; my $re ='^' . join ('\.' , @re) . '$'; my $name = shift @ARGV; my ($digits) = $name =~ /$re/; print $re , $/; print $digits, $/;
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |