I’m a beginner in regexp and i try to search in json formatted text, but i cannot make it work right:
SELECT DISTINCT tag, body FROM pages
WHERE (body REGEXP BINARY '"listeListeOuiNon":".*1.*"')
It shows me as results text with
"listeListeOuiNon":"1" and
"listeListeOuiNon":"1,2" and
"listeListeOuiNon":"0,1" as expected,
but also "listeListeOuiNon":"2" (not expected)
Any idea?
Maybe it’s because it’s greedy, but i’m not sure…
Thanks in advance!
I would try to replace the two
.*with[^"]*… That’ll however only be sufficient if yourlisteListeOuiNoncannot contain litteral"s, or you’d have to also handle the escape sequence. Basically with the.you’ll match any JSON string that has a1“after”"listListOuiNon":", even if it’s in another field, and yes, that’s because it’s greedy.