Hello rocketperl,

Your regex is pretty close to being correct. Just two tweaks needed:

  1. You need to count the capture ([A-Z]) in the total. So, to get 5 or more, you need m/([A-Z])\g2{4,}/.

  2. To see the repeated letters, you need another capture:

    #! perl use strict; use warnings; use constant MIN_MATCHES => 5; my %sequ = ( 1 => 'abcXXXXXef', 2 => 'abcYYYYYYef', 3 => 'abZZZZef', ); my $match_at_least = MIN_MATCHES - 1; for my $k (1 .. 3) { if (my @matches = $sequ{$k} =~ m/(([A-Z])\g2{$match_at_least,})/) { print "Match: $matches[1] in $matches[0] \n"; } }

    Output:

    16:47 >perl 1069_SoPW.pl Match: X in XXXXX Match: Y in YYYYYY 16:47 >

    Note that capture groups are numbered according to the position of the left parenthesis, so the whole sequence of repeated characters is \g1 and the first character is \g2. I have also removed the /g modifier to keep things simple.

Hope that helps,

Athanasius <°(((><contra mundum Iustus alius egestas vitae, eros Piratica,


In reply to Re: Backreference regex help by Athanasius
in thread Backreference regex help by rocketperl

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.