Haa vraiment les regex.. un truc d'informaticien pour les informaticiens :sm:
Ce n'est pas mon premier regex, mais la je comprend pas :
je veux trouver le motif d'un entier OU les 3 lettres "abx"
donc :
si $subject= "44"Code:
1
2
3
4 $pattern ='`(?i:[0-9]*)|(?i:abx)`'; $nb_found=preg_match($pattern, $subject, $matches,PREG_OFFSET_CAPTURE); print_r($matches);
Array ( [0] => Array ( [0] => 44 [1] => 0 ) )
c bon.
si $subject= "abx"
Array ( [0] => Array ( [0] => [1] => 0 ) )
c pas bon..:(
Me demandez pas pourquoi j'ai essayé ça (généralement on essaye beaucoup de chose avec les regex), mais dans l'expression j'interverti les 2 motifs (je place le motif abx en premier), mais je ne les modifient pas, ils sont identique aux précédents :
si $subject= "44"Code:
1
2
3
4 $pattern ='`(?i:abx)|(?i:[0-9]*)`'; $nb_found=preg_match($pattern, $subject, $matches,PREG_OFFSET_CAPTURE); print_r($matches);
Array ( [0] => Array ( [0] => 44 [1] => 0 ) )
c bon.
si $subject= "abx"
Array ( [0] => Array ( [0] => abx [1] => 0 ) )
c bon.
Vous allez me dire "Ben donc ça marche, c'est quoi ton probleme ?".
J'aime bien comprendre ce que je code.. et je comprend pas pourquoi ça marche dans un cas et pas dans l'autre, alors que les motifs exprimés dans les deux cas sont exactement les mêmes.