Heim >Datenbank >MySQL-Tutorial >Warum löst der reguläre Ausdruck von MySQL einen „Wiederholungsoperator-Operanden ungültig' aus und wie kann ich das beheben?

Warum löst der reguläre Ausdruck von MySQL einen „Wiederholungsoperator-Operanden ungültig' aus und wie kann ich das beheben?

DDD
DDDOriginal
2024-11-25 03:58:14787Durchsuche

Why Does MySQL's Regular Expression Throw

#1139 – Fehler „Repetition-Operator Operand Invalid“ im regulären MySQL-Ausdruck

Versuche, einen regulären Ausdruck zum Abrufen von Daten zu verwenden Aus einer MySQL-Tabelle wird häufig der Fehler „Operand des Wiederholungsoperators ungültig“ angezeigt. Dieser Artikel befasst sich mit der Ursache dieses Fehlers und bietet eine Lösung.

Ursache des Fehlers

Im Gegensatz zu Perl-kompatiblen regulären Ausdrücken (PCRE) verwendet MySQL Henry Spencers POSIX 1003.2-kompatible Implementierung. Daher wird der Fragezeichen-Modifikator (?) nicht unterstützt, der nicht gierige (faule) Quantoren wie *? bezeichnet. und ?.

Lösung

Um dieses Problem zu beheben, ersetzen Sie den nicht gierigen Quantifizierer durch sein gieriges Gegenstück. Erwägen Sie außerdem die Verwendung einer negierten Zeichenklasse, um Übereinstimmungen mit Elementen wie some style/" src="a.png"> und