in reply to Re^3: RegEx - match !foo followed by foo
in thread RegEx - match !foo followed by foo

Hmm, almost - and may be enough for me to work it out <thinks>...</thinks> Nope, still stuck

foobar:ogonkgonk should return foobar:o

Tom Melly, tom@tomandlu.co.uk
  • Comment on Re^4: RegEx - match !foo followed by foo

Replies are listed 'Best First'.
Re^5: RegEx - match !foo followed by foo
by Corion (Patriarch) on Mar 16, 2006 at 13:49 UTC

    The following passes the modified test suite.

    use strict; use Test::More tests => 7; sub ungonk { local $_ = $_[0]; if (/^(foobar:(?:(?!gonk).){1,5})gonk/) { return $1 } else { return undef }; }; is ungonk('foobar:hellogonk'), 'foobar:hello'; is ungonk('foobar:gonk'), undef; is ungonk('foobar:higonk'), 'foobar:hi'; is ungonk('foobar:helloworldgonk'), undef; is ungonk('foobar:gonkgonk'), undef; is ungonk('foobar:gonkogonk'), undef; is ungonk('foobar:ogonkgonk'), 'foobar:o';

      Many thanks! That looks like it.

      I'll play with this and make sure I understand what's going on - thanks again.

      Do you have an amazon wishlist? Anything cheap on it? ;)

      Tom Melly, tom@tomandlu.co.uk