use strict;
my $str = '« ...] une collection de guides "surprises" s’adressant tout autant aux visiteurs désireux d’éviter les attrape-touristes qu’aux habitants impatients de dénicher les perles les mieux cachées de leur ville. […] Que l’on souhaite monter dans un bus dont le trajet permet d’admirer les plus beaux monuments de la ville, aller pique-niquer dans un jardin secret en plein cœur du quartier historique ou s’initier à l’art du thé dans une maison d’exception, les guides surprises ont la réponse ! »
(Le Messager.fr, janvier 2015)
[Lire l\'article complet->http://loisirs.lemessager.fr/magazine/voyage/europe/article/les-meilleures-adresses-de-la-ville.html]
';
my $regex = qr/\[(.*)\-\>(.*)\]/p;
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