Take two bites at the cherry. First extract the (possibly null) string between the first and last record and then extract the coordinates from that:

#! perl -slw use strict; local $/ = ''; ## paragraph mode while( <DATA> ) { print "\n'$_' contains"; if( my( $coords ) = m[MAX.*?\n(.*)\nREPEAT]s ) { my @coords = $coords =~ m[((?:\d+(?:NW|N|NE|E|SE|S|SW|W)[ .]+) +{4})]g; print "\t$_" for @coords; } else { print 'No coords'; } } __DATA__ MAX SUSTAINED WINDS 65 KT WITH GUSTS TO 80 KT. REPEAT...CENTER LOCATED NEAR 17.0N 77.5W AT 11/2100Z MAX SUSTAINED WINDS 65 KT WITH GUSTS TO 80 KT. 64 KT....... 25NE 0SE 0SW 25NW. REPEAT...CENTER LOCATED NEAR 17.0N 77.5W AT 11/2100Z MAX SUSTAINED WINDS 65 KT WITH GUSTS TO 80 KT. 64 KT....... 25NE 0SE 0SW 25NW. 50 KT....... 40NE 0SE 0SW 40NW. 34 KT.......100NE 75SE 0SW 75NW. 12 FT SEAS..175NE 100SE 50SW 175NW. REPEAT...CENTER LOCATED NEAR 17.0N 77.5W AT 11/2100Z

Produces:

P:\test>420431 'MAX SUSTAINED WINDS 65 KT WITH GUSTS TO 80 KT. REPEAT...CENTER LOCATED NEAR 17.0N 77.5W AT 11/2100Z ' contains No coords 'MAX SUSTAINED WINDS 65 KT WITH GUSTS TO 80 KT. 64 KT....... 25NE 0SE 0SW 25NW. REPEAT...CENTER LOCATED NEAR 17.0N 77.5W AT 11/2100Z ' contains 25NE 0SE 0SW 25NW. 'MAX SUSTAINED WINDS 65 KT WITH GUSTS TO 80 KT. 64 KT....... 25NE 0SE 0SW 25NW. 50 KT....... 40NE 0SE 0SW 40NW. 34 KT.......100NE 75SE 0SW 75NW. 12 FT SEAS..175NE 100SE 50SW 175NW. REPEAT...CENTER LOCATED NEAR 17.0N 77.5W AT 11/2100Z ' contains 25NE 0SE 0SW 25NW. 40NE 0SE 0SW 40NW. 100NE 75SE 0SW 75NW. 175NE 100SE 50SW 175NW.

Examine what is said, not who speaks.
Silence betokens consent.
Love the truth but pardon error.

In reply to Re: Need soom regex expertise by BrowserUk
in thread Need soom regex expertise by Anonymous Monk

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.