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