为什么 MySQL REGEXP 抛出'#1139 错误:重复运算符操作数无效”以及如何修复它?

Susan Sarandon
发布: 2024-11-23 15:25:13
原创
651 人浏览过

Why Does MySQL REGEXP Throw

#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 错误:重复运算符操作数无效”以及如何修复它?

以上是为什么 MySQL REGEXP 抛出'#1139 错误:重复运算符操作数无效”以及如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板