尝试使用正则表达式从 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中文网其他相关文章!