Selon le Manuel MySQL
MySQL utilise l'implémentation d'expressions régulières de Henry Spencer, qui vise la conformité avec POSIX 1003.2
Regex POSIX
ne prend pas en charge l'utilisation du point d'interrogation ?
comme modificateur non gourmand (paresseux) de l'étoile et plus des quantificateurs comme PCRE (Perl Compatible Regular Expressions). Cela signifie que vous ne pouvez pas utiliser +?
et *?
Il semble que vous n'aurez qu'à utiliser la version gourmande, qui devrait toujours fonctionner. Pour éviter la correspondance de choses comme <img style="/*some style*/" src="a.png"> <script src="www.example.com/js/abc.js">
, vous pouvez utiliser une classe de caractères inversée :
'<img[^>]*src="http://www'
Remarque :Le "
n'a pas à être échappé et le .*
au début est implicite.