in reply to Re: japhy has met his match
in thread japhy has met his match

That's the type of approach I took. I try to beef it up, then, by using (?<=...) to require that the text used in the regex so far MUST be there. Oh, and if were to find a regex, it can't use $ -- it must use \z, since $ can match before a newline at the end of a string.

japhy -- Perl and Regex Hacker

Replies are listed 'Best First'.
Re: Re: Re: japhy has met his match
by Masem (Monsignor) on May 25, 2001 at 20:06 UTC
    Replacing $ with \z is trival:
    $regex = '^[z26\\\\\[\]\{\}\^\$]{26}\z';
    I've also worked out what the 'meta match' is for this expression (that is, $re2 below will only match $regex):
    $re2 = '^\^\\[z26\\\\\\\\\\\\\[\\\\\]\\\\\{\\\\\}\\\\\^\\\\\$\\]\\{26\ +\}\\\\z\z';
    So, the idea is your want, in the regex, to have $re2 attempt to match $regex, then have $regex left around that basically is a large character class with a {n} modifier (Thus, if we need to add any new characters like '(', ')', or '?', we work with $regex to add them, modify $re2 above, and we're set).

    However, I can't figure out how to do this part. I'm still thinking about it, but this is a rather interesting problem.


    Dr. Michael K. Neylon - mneylon-pm@masemware.com || "You've left the lens cap of your mind on again, Pinky" - The Brain