[HELP] Une REGEX avec exclusion.

Résolu
JukeBoy -  
 JukeBoy -
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 38483 Date d'inscription   Statut Modérateur Dernière intervention   4 746
 
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
JukeBoy
 
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