in reply to Detect STX and ETX hex in received string
G'day jagexCoder,
Welcome to the monastery.
This regexp seems to do what you want:
qr{ [$STX] ( [^$ETX]{0,80} ) [^$ETX]* [$ETX] }x
Here's my test:
$ perl -Mstrict -Mwarnings -e ' my ($STX, $ETX) = (chr(2), chr(3)); my $re = qr{ [$STX] ( [^$ETX]{0,80} ) [^$ETX]* [$ETX] }x; my $empty = $STX . $ETX; my $short = $STX . "a" x 79 . $ETX; my $exact = $STX . "a" x 80 . $ETX; my $long = $STX . "a" x 81 . $ETX; my $buf = $empty . $short . $exact . $long; print "1234567890" x 8, "\n"; print "$_\n" for $buf =~ /$re/g; print "1234567890" x 8, "\n"; ' 1234567890123456789012345678901234567890123456789012345678901234567890 +1234567890 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaa 1234567890123456789012345678901234567890123456789012345678901234567890 +1234567890
-- Ken
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Detect STX and ETX hex in received string
by ColonelPanic (Friar) on Nov 28, 2012 at 09:05 UTC | |
by kcott (Archbishop) on Nov 29, 2012 at 05:38 UTC | |
by ColonelPanic (Friar) on Nov 29, 2012 at 06:30 UTC |