in reply to Re: Variable-width negative lookbehind
in thread Variable-width negative lookbehind

Some test cases:

------
We are the carpenters and bricklayers of the Information Age.

Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose

I shouldn't have to say this, but any code, unless otherwise stated, is untested

  • Comment on Re: Re: Variable-width negative lookbehind

Replies are listed 'Best First'.
Re: Re: Re: Variable-width negative lookbehind
by Ovid (Cardinal) on May 05, 2004 at 14:37 UTC

    Crap! This almost does it, but I have to run to work. Maybe this will give you some ideas?

    #!/usr/local/bin/perl -wl use strict; use Test::More qw'no_plan'; + my %strings = ( XAA => 'XAA', YXAA => 'YXAA', YXAAXAA => 'YXAA', XAAXAA => 'XAAAA', VXAAXAA => 'VAAAA', AA => 'AA', YAA => 'YAA', YXX => 'YX', ); + while (my ($orig_string, $result) = each %strings) { my $string = $orig_string; $string = scalar reverse $string; # last or directly before a Y $string =~ s/X(?!Y|\Z)//g; $string = scalar reverse $string; is($string, $result, "$orig_string => $result"); }

    Cheers,
    Ovid

    New address of my CGI Course.

      No, that works perfectly! (I had the fourth test case wrong. It should be YXAAXAA => YXAAAA. Updated in the original node.)

      Thanks!

      ------
      We are the carpenters and bricklayers of the Information Age.

      Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose

      I shouldn't have to say this, but any code, unless otherwise stated, is untested