#1139 错误:正则表达式中的重复运算符操作数无效
使用正则表达式 (regex) 查询 MySQL 表以选择特定的结果,用户偶尔会遇到错误“#1139 - Got error 'repetition-operator operand invalid' from regexp."此错误表明提供的正则表达式包含无效的重复运算符操作数。
原因:
出现该错误是因为 MySQL 使用 Henry Spencer 符合 POSIX 标准的正则表达式实现。此实现不支持 PCRE(Perl 兼容正则表达式)中使用的非贪婪量词,例如“?”。因此,在正则表达式中的“*”或“”后使用“?,”将触发错误。
解决方案:
要解决此问题,请替换非- 贪婪量词“?”使用贪婪量词“*”,仍然会执行必要的匹配:
SELECT text FROM `articles` WHERE content REGEXP '.*<img[^>]*src="http://www' ORDER BY date DESC
此外,避免匹配诸如 或
以上是为什么 MySQL REGEXP 抛出'#1139 错误:重复运算符操作数无效”以及如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!