Maison >base de données >tutoriel mysql >Erreur MySQL REGEXP \'#1139 - Erreur obtenue \'opérande d'opérateur de répétition invalide\' : comment résoudre les problèmes de quantificateur non gourmand ?
Lorsque vous essayez d'utiliser une expression régulière pour récupérer des résultats spécifiques d'une table MySQL, vous pouvez rencontrer le message d'erreur :
"#1139 - Erreur obtenue 'opérande d'opérateur de répétition invalide' de regexp"
Pour résoudre ce problème, sachez que MySQL utilise l'implémentation des expressions régulières d'Henry Spencer, qui adhère à POSIX 1003.2. Cette implémentation ne prend pas en charge l'utilisation du point d'interrogation (?) comme modificateur non gourmand (paresseux) des quantificateurs étoile (*) et plus (), comme cela est possible dans PCRE (Perl Compatible Regular Expressions).
Pour rectifier l'erreur, optez plutôt pour la version gourmande du quantificateur, qui devrait donner les résultats souhaités. Cependant, pour éviter de faire correspondre des modèles indésirables (par exemple, un style/" src="a.png">), envisagez d'utiliser une classe de caractères niée :
"1*src="http://www""
Notez que le caractère " ne nécessite pas d'échappement et le .* au début de l'expression est implicite.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!