我是regexp的初学者,我尝试用json格式的文本进行搜索,但无法使其正常工作:
SELECT DISTINCT tag, body FROM pages
WHERE (body REGEXP BINARY '"listeListeOuiNon":".*1.*"')
它显示为结果文本
"listeListeOuiNon":"1"
和"listeListeOuiNon":"1,2"
和"listeListeOuiNon":"0,1"
as expected
,但也
"listeListeOuiNon":"2" (not expected)
知道吗?
也许是因为它很贪婪,但我不确定。。。
提前谢谢!
最佳答案
我会尝试用.*
替换这两个[^"]*
。。。不过,只有当您的listeListeOuiNon
不能包含litteral"
s时,这才足够,否则您还必须处理转义序列。基本上,使用.
可以匹配任何在“1
之后有"listListOuiNon":"
”的JSON字符串,即使它在另一个字段中,是的,这是因为它是贪婪的。
关于mysql - MYSQL REGEXP在JSON字符串中搜索,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7528881/