in reply to Need soom regex expertise

#! perl -slw use strict; local $/ = ''; ## paragraph mode while (<DATA>) { my $k = '\d{1,3}[SNEW]{1,2}'; while ( /\G.*?(($k ){3}$k)/msg ) { print "*$1*"; } } __DATA__ 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 0S 0SW 25NW. 50 KT....... 40NE 0SE 0SW 40W. 34 KT.......100NE 75SE 0SW 75NW. 12 FT SEAS..175NE 100SE 50SW 175NW. REPEAT...CENTER LOCATED NEAR 17.0N 77.5W AT 11/2100Z __END__
OUTPUT:
*25NE 0SE 0SW 25NW*
*25NE 0S 0SW 25NW*
*40NE 0SE 0SW 40W*
*100NE 75SE 0SW 75NW*
*175NE 100SE 50SW 175NW*