THAETURQU .LLL..RRR HA,AE
JURYATAUTIOPW .LLL...LL.RRR UR,RY,UT
TURIWOWQNQQUTYRIOPWMNHF L..L..LLLL.LL.R..L.LLLL WQ,QN,NQ,MN,NH,HF
####
THAETURQU .LLL..RRR HA
JURYATAUTIOPW .LLL...LL.RRR UR,UT
TURIWOWQNQQUTYRIOPWMNHF L..L..LLLL.LL.R..L.LLLL WQ,NQ,MN,HF
####
#!/usr/bin/perl
use strict;
use warnings;
my @patterns = qw(
.LLL
LLLL
.RRR
RRRR
LL
);
chomp( my @file = );
for my $pat (@patterns) {
print("pattern = $pat\n");
our $string;
our @matches;
my $re = do {
use re 'eval';
qr/
\Q$pat\E
(?{
my $start = $-[0];
my $end = $+[0];
push @matches, substr($string, $start, $end - $start);
})
(?!)
/x
};
for my $line (@file) {
(local $string, my $mask) = split(/\s+/, $line, 2);
local @matches;
$mask =~ $re;
local $" = ",";
print "$line\t@matches\n";
}
print("\n");
}
__DATA__
THAETURQU .LLL..RRR
JURYATAUTIOPW .LLL...LL.RRR
TURIWOWQNQQUTYRIOPWMNHF L..L..LLLL.LL.R..L.LLLL
####
pattern = .LLL
THAETURQU .LLL..RRR THAE
JURYATAUTIOPW .LLL...LL.RRR JURY
TURIWOWQNQQUTYRIOPWMNHF L..L..LLLL.LL.R..L.LLLL OWQN,WMNH
pattern = LLLL
THAETURQU .LLL..RRR
JURYATAUTIOPW .LLL...LL.RRR
TURIWOWQNQQUTYRIOPWMNHF L..L..LLLL.LL.R..L.LLLL WQNQ,MNHF
pattern = .RRR
THAETURQU .LLL..RRR URQU
JURYATAUTIOPW .LLL...LL.RRR IOPW
TURIWOWQNQQUTYRIOPWMNHF L..L..LLLL.LL.R..L.LLLL
pattern = RRRR
THAETURQU .LLL..RRR
JURYATAUTIOPW .LLL...LL.RRR
TURIWOWQNQQUTYRIOPWMNHF L..L..LLLL.LL.R..L.LLLL
pattern = LL
THAETURQU .LLL..RRR HA,AE
JURYATAUTIOPW .LLL...LL.RRR UR,RY,UT
TURIWOWQNQQUTYRIOPWMNHF L..L..LLLL.LL.R..L.LLLL WQ,QN,NQ,UT,MN,NH,HF