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

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.

Replies are listed 'Best First'.
Re: Re: Re: Re: Variable-width negative lookbehind
by dragonchild (Archbishop) on May 05, 2004 at 14:40 UTC
    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