# 1139 Erreur: Invalider l'opérateur de répétition opératrice dans une expression régulière
Lorsque vous interrogez une table mysql avec une expression régulière (regex) pour sélectionner des résultats spécifiques, les utilisateurs de l'erreur «&&&yn] Regexp. " Cette erreur indique que le regex fourni contient un opérateur d'opérateur de répétition invalide.
Cause:
L'erreur se produit car MySQL utilise la mise en œuvre de compacte positive d'Henry Spencer des expressions régulières. Cette implémentation ne prend pas en charge les quantificateurs non gardiens comme "?," Utilisé dans le PCRE (expressions régulières compatibles Perl). Par conséquent, en utilisant "??," After "*" ou "" Dans un regex déclenchera une erreur.
Solution:
Pour résoudre ce problème, remplacez le quantificateur non gère "?" avec le quantificateur gourmand "*", qui effectuera toujours la correspondance nécessaire:sélectionner le texte Des «articles» Où le contenu regexp '. * & Lt; img [^ & gt;] * src = "http: // www' Order by Date desc
SELECT text FROM `articles` WHERE content REGEXP '.*<img[^>]*src="http://www' ORDER BY date DESCen outre, pour éviter de faire correspondre des chaînes telles que
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3