use strict;
my $str = 'The.Last.Ship.S02E13.1080p.WEB-DL.DD5.1.H.264-BLiN.mkv*
The.Librarians.US.S02E05.720p.HDTV.x264-FLEET.mkv*
The.Librarians.US.S02E06.720p.HDTV.x264-0SEC.mkv*
The.Librarians.US.S02E08.720p.HDTV.x264-0SEC.mkv*
The.Librarians.US.S02E09.720p.HDTV.x264-0SEC.mkv*
The.Librarians.US.S02E10.720p.HDTV.x264-KILLERS.mkv*
tvs-csi-cyber-dd51-ded-dl-18p-ithd-avc-101.mkv*
tvs-csi-cyber-dd51-ded-dl-18p-ithd-avc-102.mkv*
tvs-csi-cyber-dd51-ded-dl-18p-ithd-avc-103.mkv*
Warehouse.13.S04E20.720p.HDTV.x264-EVOLVE.mkv*
Warehouse.13.S05E01.720p.HDTV.x264-REMARKABLE.mkv*
warehouse.13.s05e02.720p.hdtv.x264-killers.mkv*
warehouse.13.s05e03.720p.hdtv.x264-killers.mkv*
warehouse.13.s05e04.720p.hdtv.x264-2hd.mkv*
Warehouse.13.S05E05.720p.HDTV.X264-DIMENSION.mkv*
Warehouse.13.S05E06.720p.HDTV.X264-DIMENSION.mkv*
White.Collar.S04E15.The.Original.720p.WEB-DL.DD5.1.h.264-NTb.mkv*
White.Collar.S04E16.PROPER.720p.HDTV.x264-EVOLVE.mkv*
White.Collar.S05E01.At.What.Price.720p.WEB-DL.DD5.1.H.264-NTb.mkv*
White.Collar.S05E02.Out.of.the.Frying.Pan.720p.WEB-DL.DD5.1.H.264-NTb.mkv*
white.collar.s05e03.720p.hdtv.x264-killers.mkv*
White.Collar.S05E04.Controlling.Interest.720p.WEB-DL.DD5.1.H.264-NTb.mkv*
White.Collar.S05E05.Master.Plan.720p.WEB-DL.DD5.1.H.264-NTb.mkv*
White.Collar.S05E06.Ice.Breaker.720p.WEB-DL.DD5.1.H.264-NTb.mkv*
White.Collar.S05E06.Ice.Breaker.720p.WEB-DL.DD5.1.H.264-NTb-thumb.jpg*
White.Collar.S05E07.Quantico.Closure.720p.WEB-DL.DD5.1.H.264-NTb.mkv*
White.Collar.S05E07.Quantico.Closure.720p.WEB-DL.DD5.1.H.264-NTb-thumb.jpg*
White.Collar.S05E08.720p.HDTV.x264-IMMERSE.mkv*
White.Collar.S05E08.720p.HDTV.x264-IMMERSE-thumb.jpg*
White.Collar.S05E09.No.Good.Deed.720p.WEB-DL.DD5.1.H.264-NTb.mkv*
White.Collar.S05E09.No.Good.Deed.720p.WEB-DL.DD5.1.H.264-NTb-thumb.jpg*
White.Collar.S05E10.Live.Feed.720p.WEB-DL.DD5.1.H.264-NTb.mkv*
White.Collar.S05E10.Live.Feed.720p.WEB-DL.DD5.1.H.264-NTb-thumb.jpg*
White.Collar.S05E11.720p.HDTV.x264-REMARKABLE.mkv*
White.Collar.S05E11.720p.HDTV.x264-REMARKABLE-thumb.jpg*
White.Collar.S05E12.REPACK.720p.HDTV.x264-KILLERS.mkv*
White.Collar.S05E13.720p.HDTV.x264-REMARKABLE.mkv*
White.Collar.S06E01.Borrowed.Time.1080p.WEB-DL.DD5.1.H.264-NTb.mkv*
White.Collar.S06E02.Return.to.Sender.1080p.WEB-DL.DD5.1.H.264-NTb.mkv*
White.Collar.S06E03.720p.HDTV.x264-KILLERS.mkv*
White.Collar.S06E04.720p.HDTV.x264-KILLERS.mkv*
White.Collar.S06E05.720p.HDTV.x264-KILLERS.mkv*
White.Collar.S06E06.720p.HDTV.X264-DIMENSION.mkv*
';
my $regex = qr/re.match('(.*).*(\[.*\]).*(\[.*\])', '')/p;
if ( $str =~ /$regex/ ) {
print "Whole match is ${^MATCH} and its start/end positions can be obtained via \$-[0] and \$+[0]\n";
# print "Capture Group 1 is $1 and its start/end positions can be obtained via \$-[1] and \$+[1]\n";
# print "Capture Group 2 is $2 ... and so on\n";
}
# ${^POSTMATCH} and ${^PREMATCH} are also available with the use of '/p'
# Named capture groups can be called via $+{name}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Perl, please visit: http://perldoc.perl.org/perlre.html