Maison >base de données >tutoriel mysql >Pourquoi l'expression régulière de MySQL renvoie-t-elle « Opérande d'opérateur de répétition invalide » et comment puis-je y remédier ?

Pourquoi l'expression régulière de MySQL renvoie-t-elle « Opérande d'opérateur de répétition invalide » et comment puis-je y remédier ?

DDD
DDDoriginal
2024-11-25 03:58:14843parcourir

Why Does MySQL's Regular Expression Throw

#1139 - Erreur « Opérande d'opérateur de répétition invalide » dans l'expression régulière MySQL

Tentatives d'utilisation d'une expression régulière pour récupérer des données à partir d'une table MySQL, nous rencontrons souvent l'erreur « opérande d'opérateur de répétition invalide ». Cet article examine la cause de cette erreur et propose une solution.

Cause de l'erreur

Contrairement aux expressions régulières compatibles Perl (PCRE), MySQL utilise Henry Implémentation conforme à POSIX 1003.2 de Spencer. Par conséquent, il ne prend pas en charge le modificateur point d’interrogation (?), qui désigne des quantificateurs non gourmands (paresseux) comme *? et ?.

Solution

Pour résoudre ce problème, remplacez le quantificateur non gourmand par son homologue gourmand. De plus, envisagez d'utiliser une classe de caractères niée pour empêcher les correspondances sur des éléments tels que some style/" src="a.png"> et