Heim >Datenbank >MySQL-Tutorial >Warum gibt MySQL einen Regex-Fehler „Repetition-Operator Operand Invalid' aus und wie kann ich ihn beheben?
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!