|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre actif
![]() Inscription : juin 2005 Messages : 289 ![]() |
Bonjour, j'ai un problème et je crois que je peux le résoudre avec les RegEx...
Je crée un syntaxe donc les opérations sont séparées par des . mais il faudrait pouvoir ne pas séparer si il y a un \. Donc je dois aussi doubler les \. Comment savoir si il y a un nombre pair/imprair de \ devant un .? Je découpe avec preg_split. Donc par exemple opération1.opération2 avec opération 1 contenant \. qui permettrait de ne pas découper l'opération1 en deux opérations... Merci |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Il faut utiliser une asserion arrière négative. La regex serait celle-là :
donc en PHP, il faut l'écrire en doublant les backslashes : Code PHP :
preg_split('#(?<!\\\\)\\.#', $texte) ; |
|
|
00
|
|
|
#3 |
|
Membre actif
![]() Inscription : juin 2005 Messages : 289 ![]() |
Merci ;-)
J'avais apparemment un problème puisque je ne doublais pas pas les backslash pour php. Mais il y a encore un problème. Si on a op1.op2 avec op1 qui se termine par \\ (doublement de backslash pour le différentier de \.) comme cela, il faut séparer op1 et op2. |
|
|
00
|
|
|
#4 | ||
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Donc le sérateur est soit un point non précédé d'un backslash, soit un point précédé de deux backslahes :
Ce qui devrait donner : Code php :
|
||
|
|
00
|
|
|
#5 |
|
Membre actif
![]() Inscription : juin 2005 Messages : 289 ![]() |
Merci ;-)
Mais y a t'il moyen de dire que si le point est précédé de 2n backslash alors il sépare et si c'est 2n+1 backslash alors il ne sépare pas? Parce que là, on doit spécifier la nombre de backslashs? |
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Alors disons les choses autrement : c'est un point précédé d'un nombre quelconque (ou zéro) de paires de backslashes, elles-mêmes non-précédées d'un backslash isolé :
|
|
|
00
|
|
|
#7 |
|
Membre actif
![]() Inscription : juin 2005 Messages : 289 ![]() |
Exactement.
Merci beaucoup |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com