use strict;
my $str = '<script type=\'text/javascript\'>var holaplayer;
window.hola_player({ player: \'#hola\',
share: false,
poster: \'https://s475.clipwatching.com/i/02/02889/onou5kiza8cr.jpg\',
sources: [{src: "https://s475.clipwatching.com/zx5x4sn47f2txcne4zqsjghf2y3o4r2okiasq6h2zzssd7xctj7bkkn3p7mq/v.mp4", type: "video/mp4", res: 360, label: "360"}],
preload: \'auto\',
thumbnails:{ vtt:\'https://clipwatching.com/dl?op=get_slides&length=1440&url=https://s475.clipwatching.com/i/02/02889/onou5kiza8cr0000.jpg\' },ads: { adTagUrl: \'https://www.movcpm.com/watch.xml?key=383cac3ff2358ef864279f1c5e1053ba\' },
videojs_options: {
html5: {
hlsjsConfig: {
debug: false,
startLevel: 1,
maxBufferLength: 30,
maxBufferSize: 10*1024*1024,
maxMaxBufferLength: 600,
capLevelToPlayerSize: true,
}
},
},
}, function(player){';
my $regex = qr/\s*src\s*:\s*"(.*?)"/mp;
if ( $str =~ /$regex/g ) {
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