Kripa Sundar wrote:
> 
> David Sheldon wrote:
> 
> => 
>m/(^|\W)(([A-Za-z][0-9]|[A-Za-z][0-9]{2}|[A-Za-z][A-HJ-Ya-hj-y][0-9]|[A-Za-z][A-HJ-Ya-hj-y][0-9]{2}|[A-Za-z][0-9][A-Za-z]|[A-Za-z][A-HJ-Ya-hj-y][0-9][A-Za-z])\s+[0-9][ABD-HJLP-UW-Zabd-hjlp-uw-z]{2}|[Gg][iI][Rr]\W+0[aA]{2})(\W|$)/
> 
> I've no idea if the above is correct for the purposes
> intended.  But the regex itself can be simplified, making
> it (more) readable and efficient.
> 
> \begin{untested-code}
> 
>     || m{
>     ||   \b # Replaces $1 == (^|\W).
>     ||     ([A-Za-z] [A-HJ-Ya-hj-y]? \d [A-Za-z0-9]? # Replaces 6 choices in $3.
>     ||      \s+ \d [ABD-HJLP-UW-Zabd-hjlp-uw-z]{2}
>     ||      | [Gg][iI][Rr]\W+0[aA]{2}
>     ||      )
>     ||   \b # Replaces $4 == (\W|$).
>     || }x;
> 
> \end{untested-code}

You did say simpler?  :-)

     || m{
     ||   \b # Replaces $1 == (^|\W).
     ||     ([A-Z] [A-HJ-Y]? \d [A-Z\d]? # Replaces 6 choices in $3.
     ||      \s+ \d [ABD-HJLP-UW-Z]{2}
     ||      | gir\W+0aa
     ||      )
     ||   \b # Replaces $4 == (\W|$).
     || }ix;



John
-- 
use Perl;
program
fulfillment

Reply via email to