| s/(.\d)\d/$1/g; | |
| s/(.\d)\d+/$1/g; | |
| s/(.\d)\d\d?/$1/g; | |
| s/(?<=.)(\d)\d/$1/g; | |
| s/(?<=\d)(\d)./$1/g; | |
| s/(?<=\d)(\d)\d/$1/g; | |
| s/(?<=\D)(\d)\d/$1/g; | |
| s/(?<!^)\d+(\d)/$1/g; |
Here is some code to help you check your answers:
By the way, Tye isn't sure that all the cases are as obvious as one might think. In fact, we are pretty sure that some of the behavior demonstrated is undocumented. Enjoy!#!perl use strict; my $nums = "1234*5678"; my @regexes = ( q/(.\d)\d/, q/(.\d)\d+/, q/(.\d)\d\d?/, q/(?<=.)(\d)\d/, q/(?<=\d)(\d)./, q/(?<=\d)(\d)\d/, q/(?<=\D)(\d)\d/, q/(?<!^)\d+(\d)/, ); $^A = ""; for my $regex ( @regexes ) { my $target = $nums; $target =~ s/$regex/$1/g; formline "\$_ = '$nums'; \@<<<<<<<<<<<<<<<<<<<<<<< ". "# Result: \$_ eq '$target'\n", "s/$regex/\$1/g;"; print $^A; $^A = ""; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
(MeowChow) Re: RegEx Challenge
by MeowChow (Vicar) on May 04, 2002 at 02:14 UTC | |
|
Re: RegEx Challenge
by japhy (Canon) on May 03, 2002 at 21:18 UTC | |
by Adam (Vicar) on May 03, 2002 at 21:20 UTC | |
by japhy (Canon) on May 03, 2002 at 21:46 UTC |