[HELP] Une REGEX avec exclusion.

Résolu/Fermé
JukeBoy - 17 oct. 2016 à 19:12
 JukeBoy - 17 oct. 2016 à 20:00
Bonsoir a tous,
Voilà, habitué a faire des REGEX, cette fois si j'ai un soucis.
Mon code se présente comme ceci :

{
"devices": [ {
"name": "test1",
"params": [ {
"key": "Value",
"value": "Auto(Off)"
}, {
"key": "Choices",
"value": "Auto(Off),Off,On,Auto(On)"
} ],
}, {
"name": "test2",
"params": [ {
"key": "Value",
"value": "Auto(On)"
}, {
"key": "Choices",
"value": "Auto(Off),Off,On,Auto(On)"
} ],
} ]
}


Voilà, j'aimerai que ma REGEX reconnaisse un block complet d'une machine, sans reconnaître le gros block général (devices) ni les blocks plus à l’intérieur (params), auriez vous une piste ?
J'ai du mal a exclure des mots ou ne pas reconnaître les sous ensembles..

Merci d'avance !

2 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
17 oct. 2016 à 19:46
Bonjour,
Pourquoi utiliser une regex ???
Le format que tu nous montres en exemple... c'est simplement du JSON.

et... PHP... dispose de fonctions comme json_decode
https://www.php.net/manual/fr/function.json-decode.php

 // converti les données json en array php
 $arrayDesDatas =  json_decode($tesDatas,true); 

//ensuite tu peux manipuler les données comme un array "normal"
 foreach($arrayDesDatas as $R){
   print_r($R);
 }

1
Ah oui, quand on connait tout c'est quand même vachement plus simple.. Tu me sauves encore la vie, je me penche la dessus, encore merci :) !!
0