Mysql
 sql >> Base de données >  >> RDS >> Mysql

#1139 - Erreur 'repetition-operator operand invalid' de regexp

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.