use strict;
my $str = 'je t\'aime www.fnac.fr
www.amazon.com
https://test1.amazon.com
https://www.amazon.fr/sasa
http://url.actu.fr/b9af4a14
www.google.fr
www.lol.com
hi voila.fr
Utilisons WhatsApp, une application rapide, simple et sécurisée pour envoyer des messages et appeler gratuitement. À télécharger sur https://whatsapp.com/dl/lol
https://www.youtube.com/watch?v=dvPYQHLZdUk
Https://youtu.be/NLPyySN9Czw?si=nnOgbaHgZSeBHA6U
CrazyCat ça va?
lol comment tu vas
WWW.GOOGLE.FR';
my $regex = qr/(?i)((https?:\/\/|www\.)(?!.*(fnac\.fr|amazon\.com|actu\.fr|youtube\.com\/watch\?.*v=|youtu\.be\/)).+)|(\w+\.\w+)$/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