Bonjour à tous.
Voilà j'ai essayé de chercher un peu partout comment comprendre les REGEX, mais chaque fois ça reste trop vague pour moi.
En fait, mon but est de pouvoir extraire des valeurs (coordonnées & tailles) via un REGEX en partant de cette chaine de caractère : [0.23,0.08,0.14x0.04]
J'ai besoin de 2 extractions :
1/ j'ai besoin d'extraire 0.23 & 0.08 (qui correspondent à X & Y)
2/ j'ai besoin d'extraire 0.14 & 0.04 (qui correspondent à Width & height)
A vrai dire, ca n'est pas vraiment grave si "tailles" et "coordonnées" ne sont pas séparées.
L'idéal pour moi serait de récupérer dans un tableau les 4 valeurs :
J'ai donc pensé à simplement faire un preg_match_all
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $coord = [0.23,0.08,0.14x0.04] $tab[0] = 0.23 $tab[1] = 0.08 $tab[2] = 0.14 $tab[3] = 0.04
Sauf qu'avec mon REG actuel, il ne me ressort que
Code : Sélectionner tout - Visualiser dans une fenêtre à part $split = preg_match_all("/,(.*)/",$coord,$tab, PREG_PATTERN_ORDER);
Normal, j'ai bien conscience que je ne lui demande que de récupérer ce qui se trouve après une ","
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $tab[0] = 0.08 $tab[1] = 0.14x0.04
Donc comment lui dire : récupère moi :
- la première valeur avant la virgule
- ET la valeur située entre 2 virgules
- ET la valeur avant le "x"
- ET la valeur après le "x"
En gros, un regex multi conditions.
Je n'ai trouvé que le "|" qui fait office de "OR", ce qui n'est pas pour correspondre avec ce que je cherche.
Merci de votre aide.
Partager