嘗試使用正規表示式從MySQL 表中選擇結果時,您可能會遇到錯誤,指出“#1139 - 從正規表示式中收到錯誤'重複運算符操作數無效'。”此錯誤是由於使用“?”引起的MySQL正規表示式中的量詞。
MySQL 的正規表示式實作遵循 POSIX 1003.2 標準,該標準不支援 '?'量詞作為星號和加號量詞(例如 ? 和 *?)的惰性(非貪婪)修飾符。
要解決此錯誤,請替換 '?'量詞及其貪婪的對應物。例如,不要使用'?src="http://www',而是使用'src="http://www' 來匹配「src="http://」之前的任意數量的字元www"。
此外,為了避免匹配不需要的模式(例如,some style/" src="a.png">),您可以使用否定字符類,例如'1*src="http://www''。這與不包含大於號的') 在'src="http://www' 表達式之前。
記住,雙引號('") 不需要轉義,並且.* 量詞隱含在正規表示式的開頭。
以上是為什麼 MySQL 會拋出「重複運算子運算元無效」正規表示式錯誤,以及如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!