Heim >Datenbank >MySQL-Tutorial >Warum gibt MySQL einen Regex-Fehler „Repetition-Operator Operand Invalid' aus und wie kann ich ihn beheben?

Warum gibt MySQL einen Regex-Fehler „Repetition-Operator Operand Invalid' aus und wie kann ich ihn beheben?

Linda Hamilton
Linda HamiltonOriginal
2024-11-25 21:10:15538Durchsuche

Why Does MySQL Throw a

MySQL-Regex-Fehler: „Repetition-Operator Operand Invalid“

Beim Versuch, einen regulären Ausdruck zum Auswählen von Ergebnissen aus einer MySQL-Tabelle zu verwenden, kann es zu einer Fehlermeldung kommen „#1139 – Vom regulären Ausdruck wurde der Fehler „Operand des Wiederholungsoperators ungültig“ angezeigt.“ Dieser Fehler entsteht durch die Verwendung des „?“ Quantifizierer in einem regulären MySQL-Ausdruck.

MySQLs reguläre Ausdrucksimplementierung folgt dem POSIX 1003.2-Standard, der das „?“ nicht unterstützt. Quantifizierer als fauler (nicht gieriger) Modifizierer für Stern- und Plusquantifizierer (z. B. ? und *?).

Um diesen Fehler zu beheben, ersetzen Sie das „?“ Quantor mit seinem gierigen Gegenstück. Anstatt beispielsweise „?src="http://www" zu verwenden, verwenden Sie „src="http://www", um eine beliebige Anzahl von Zeichen vor „src="http://" zu finden. www" '

1*src="http://www''. Dies entspricht Vorkommen von ') vor dem 'src="http://www'-Ausdruck.Denken Sie daran, dass die doppelten Anführungszeichen ('") nicht maskiert werden müssen, der Quantifizierer .* jedoch schon am Anfang des regulären Ausdrucks impliziert.

>

Das obige ist der detaillierte Inhalt vonWarum gibt MySQL einen Regex-Fehler „Repetition-Operator Operand Invalid' aus und wie kann ich ihn beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn