我在我的mysql表中选择一些结果时遇到了麻烦。 我使用此查询

问题描述 投票:0回答:2
#1139 - Got error 'repetition-operator operand invalid' from regexp

i用记事本++测试了正则态度,它有效,为什么MySQL给我这个错误,我该如何解决?

	
根据

mysql手册


MYSQL使用亨利·斯宾塞(Henry Spencer)的实施正则表达式,该表达式旨在符合POSIX1003.2

mysql regex select
2个回答
65
投票

posixRegexes不支持使用问号?

作为恒星的非怪兽(懒惰)修饰符,以及诸如PCRE(Perl兼容正则表达式)之类的量词。这意味着您不能使用
+?

*?

看起来您只需要使用贪婪的版本,它仍然应该使用。为了避免诸如<img style="/*some style*/" src="a.png"> <script src="www.example.com/js/abc.js">

之类的匹配,您可以使用否定的字符类:
'<img[^>]*src="http://www'


注:

"

不必逃脱,并且暗示了
.*

SELECT text , IF (content LIKE '%<img src="http://%', text , content LIKE '%<img style=%') as imageText FROM articles ORDER BY date DESC

您可以尝试,

<img src="http://
这将首先检查内容的位置。

希望它有帮助

检查小提琴:

1
投票

我的Instagram和Facebook帐户PE 22K花KarnaHai

	
© www.soinside.com 2019 - 2024. All rights reserved.