尝试执行以下 MySQL 查询时:
SELECT text FROM `articles` WHERE content REGEXP '.*<img.*?src=\"http://www' ORDER BY date DESC
您遇到错误:#1139 - 从正则表达式中收到错误“重复运算符操作数无效”。尽管正则表达式在 Notepad 中正常运行,但 MySQL 拒绝了它。
MySQL 正则表达式引擎遵循 POSIX 1003.2,缺乏对问号的支持(?) 作为量词中的非贪婪修饰符( 和 )。因此,您不能雇用?和 ?
要解决此问题,请使用量词的贪婪版本,它仍然足以满足您的预期目的。尽管如此,为了防止不必要的元素匹配,例如:
<img>
合并否定字符类,如下所示:
'<img[^>]*src="http://www'
请记住, " 字符不需要转义,并且 .*开头是隐含的。
以上是为什么我的 MySQL REGEXP 查询失败并显示'重复运算符操作数无效”?的详细内容。更多信息请关注PHP中文网其他相关文章!