sql >> Base de Datos >  >> RDS >> Mysql

#1139 - Obtuve el error 'operador de repetición no válido' de regexp

Según el manual de MySQL

MySQL utiliza la implementación de expresiones regulares de Henry Spencer, cuyo objetivo es la conformidad con POSIX 1003.2

regex POSIX no admite el uso del signo de interrogación ? como un modificador no codicioso (perezoso) de la estrella y más cuantificadores como PCRE (Expresiones regulares compatibles con Perl). Esto significa que no puedes usar +? y *?

Parece que solo tendrás que usar la versión codiciosa, que aún debería funcionar. Para evitar la coincidencia de cosas como <img style="/*some style*/" src="a.png"> <script src="www.example.com/js/abc.js"> , puede usar una clase de carácter negado:

'<img[^>]*src="http://www'

Nota:El " no tiene que escapar y el .* al principio está implícito.