Regulärer Ausdruck zum extrahieren von JSON-array

Ich versuche, einen PCRE reguläre Ausdrücke zum extrahieren einige JSON. Ich bin mit einer version von MariaDB, die nicht über JSON-Funktionen, aber nicht REGEX-Funktionen.

Mein string ist:

{"device_types":["smartphone"],"isps":["a","B"],"network_types":[],"countries":[],"category":["Jebb","Bush"],"carriers":[],"exclude_carriers":[]}

Ich wollen, packen Sie den Inhalt category. Ich würde gerne eine passende Gruppe, die enthält 2 items, Jebb und Bush (oder wie viele Elemente im array).

Habe ich versucht, dieses Muster, aber es entspricht nur das erste vorkommen: /(?<=category":\[).([^"]*).*?(?=\])/g

  • Man fragt sich, warum Sie drängen JSON an die DB, wenn Sie benötigen Zugriff auf einige der zugrunde liegenden Inhalte in der DB selbst? Warum nicht schieben den Daten, die Sie tatsächlich benötigen?
  • Eine business-intelligence-Art Wunder, das gleiche von seinem Entwickler-Freunde. Jede Hilfe bei der regex-Muster wäre toll!
  • Möchten Sie vielleicht an diesem tag mit mariadb - es kann mehr über, wie du mit den Funktionen in diesem Kontext als die regex selbst
  • Perl, PHP, JS, etc, etc, haben Routinen zum Parsen von JSON. Tun Sie es in der Anwendung code.
  • Igitt, regex für JSON
  • GGGforce Überprüfen Sie unten meine Antwort für ein einzelnes regex-Lösung zu Ihrem problem, Sie arbeiten völlig in Ordnung, für eine unbestimmte Anzahl von Einträgen.
  • Ich werde @Redu, nur nach dem Mittagessen! 😉
  • Ich bin der Annahme ClasGs Antwort, weil in MariaDB brauche ich 1 match mit diesen Gruppen statt mehrere übereinstimmungen. ClasG: regex101.com/r/jD1rN6/1 Redu: regex101.com/r/rU6nK8/1

InformationsquelleAutor GGGforce | 2016-03-30
Schreibe einen Kommentar