in reply to This regular expression has me stumped
For this task a little looking around helps as does knowing what not to find, oh, and taking care of lose ends helps too. Consider:
use strict; use warnings; my @tests = ( "First: /home/user/blah/filename and /home/user/blah/filename2 end +", "/home/user/blah/filename,/home/user/blah/filename2", "/home/user/blah/filename; /home/user/blah/filename2", "/home/user/blah/filename\@10:30 /home/user/blah/filename2", ); for my $str (@tests) { $str =~ s!(?:^|/)[^\s,@;]*(?<=/)([^\s,@;]+?)(?=[\s,@;]|$)!$1!g; print "$str\n"; }
Prints:
First: filename and filename2 end filename,filename2 filename; filename2 filename@10:30 filename2
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: This regular expression has me stumped
by tsk1979 (Scribe) on May 01, 2008 at 10:18 UTC | |
by GrandFather (Saint) on May 01, 2008 at 12:10 UTC | |
by toolic (Bishop) on May 01, 2008 at 13:23 UTC | |
|
Re^2: This regular expression has me stumped
by tsk1979 (Scribe) on May 02, 2008 at 05:57 UTC | |
by tsk1979 (Scribe) on May 02, 2008 at 06:00 UTC | |
|
Okay, I know why is it failing
by tsk1979 (Scribe) on May 02, 2008 at 06:16 UTC | |
by tsk1979 (Scribe) on May 02, 2008 at 06:42 UTC | |
by tachyon-II (Chaplain) on May 02, 2008 at 09:34 UTC | |
by tsk1979 (Scribe) on May 03, 2008 at 09:17 UTC | |
by tachyon-II (Chaplain) on May 03, 2008 at 12:24 UTC |