in reply to Re: A NOT in regular expressions
in thread A NOT in regular expressions

You get the string "<%replace here%%>but not here%>" wrong.

Replies are listed 'Best First'.
Re: A NOT in regular expressions
by Abigail-II (Bishop) on May 14, 2003 at 08:49 UTC
    You are quite right. I should have written:
    s/<%(?:[^%]+|%(?!>))*%>/<%$new%>/

    Abigail

      Ilya saved you.

      In older versions of Perl, or in other languages, the above would perform simply pathetically on something like:

      "<%aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaa"
      However Ilya's optimizations make it perform just fine in recent versions of Perl. :-)
        Yeah, too bad older versions of Perl don't have (?>).

        Abigail