in reply to Re: match diagonal text
in thread match diagonal text

Thanks for your reply, please find my answers here

1. Do you mean that you are only interested in exactly 4 (not say 3) of '1's or '2's on a diagonal? Yes

2. Are you only interested in those on this \ diagonal and not this / one? Yes i need both diagonals

3. Will the input always be 6 x 4? not always, it will vary.

Please let me know for further assistance

Replies are listed 'Best First'.
Re^3: match diagonal text
by BrowserUk (Patriarch) on Sep 22, 2011 at 12:05 UTC
    Will the input always be 6 x 4? not always, it will vary.

    Over what range?

    Please let me know for further assistance

    Thank you.


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.
      While you're at it, BrowserUK, I'd like a pony.

      ~ 500x50

        #! perl -slw use strict; sub checkDiags { my $text = shift; my $x1 = 1 + index $text, "\n" or die 'Bad input'; my $x2 = $x1-2; my $reMajor = qr[ ([12]) (?: .{$x1}\1 ){3} ]sx; my $reMinor = qr[ ([12]) (?: .{$x2}\1 ){3} ]sx; return $text =~ $reMajor || $text =~ $reMinor; } my $test = do{ local $/; <> }; print "$test\n", checkDiags( $test ) ? 'Matched' : 'Failed'; __END__ c:\test>junk40 0100000000 0010000000 0001000000 0000100000 0000000000 ^Z 0100000000 0010000000 0001000000 0000100000 0000000000 Matched c:\test>junk40 0000000 0000020 0000200 0002000 0020000 0000000 ^Z 0000000 0000020 0000200 0002000 0020000 0000000 Matched

        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.