On 05/07/2014 01:40 AM, John SJ Anderson wrote:


my @strings = (
   "^Modifications made by Danny Wong (danwong) on 2014/05/06 18:27:48
from database brms" ,
   "^Modifications made by danwong on 2014/05/06 18:27:48 from database brmsĀ²",
);

foreach my $string ( @strings ) {
   my( $match ) = $string =~ /by (.*?) on/;
   if ( $match and $match =~ /\(([^)]+)\)/ ) {
     $match = $1;
   }
   say "Matched '$1' in '$string'"
     if $match;
}


i would go with just getting the word before an optional ), then 'on' and the year. untested:

        my $match = $string =~ /(\w+)\)?\s+on\s+\d+/ ;

uri

--
Uri Guttman - The Perl Hunter
The Best Perl Jobs, The Best Perl Hackers
http://PerlHunter.com

--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to