Bonjour,
voila je galere un peu sur une expression reguliere que je dois mettre à jour, donc celle-ci fonctionne mais je ne comprends pas le comportement de preg_match_all ici en l' occurrence.
Donc voici mon pattern:
Voici la chaine a analyser (il s'agit en fait du output direct d'un fichier)
Code : Sélectionner tout - Visualiser dans une fenêtre à part $sRegexp = '/\s*\d+\.\d+\s*,\s*\d+:\d+\s*,\s*\d+\s*,\s*([^\s,]+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(.*?)\s*,.*[\n\r]+/';
Et donc en faisant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $sString=" 25.02,16:07, 0,47C2D9AF,9880,8,Playback Alarm,,,,,, 25.02,16:07, 0,47C2D9B0,9880,8,Playback Alarm,,,,,, "
J'obtiens:
Code : Sélectionner tout - Visualiser dans une fenêtre à part preg_match_all($sRegexp, $sString, $aAlarms, PREG_SET_ORDER);
Donc voila je comprends bien le contenu de $aAlarms[0][0], par contre comment a-t-on fait pour obtenir $aAlarms[0][1],[0][2],[0][3],[0][4] ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 $aAlarms = [0] => Array ( [0] => 25.02,16:07, 0,47C2D9AF,9880,8,Playback Alarm,,,,,, [1] => 47C2D9AF [2] => 9880 [3] => 8 [4] => Playback Alarm ) [1] => Array ( [0] => 25.02,16:07, 0,47C2D9B0,9880,8,Playback Alarm,,,,,, [1] => 47C2D9B0 [2] => 9880 [3] => 8 [4] => Playback Alarm )
Quelle partie de l'expression reguliere a permis ceci?
Merci de votre aide!
Partager