|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Futur Membre du Club
![]() Inscription : décembre 2007 Messages : 252 ![]() |
Code :
ce regex ne marche pas, comment avoir bien les 0 à la fin, et comment n'avoir '::' qu'une seule fois max merci beaucoup aux experts regex |
||
|
|
00
|
|
|
#2 | ||
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 040 ![]() |
peux tu expliciter exactement ce que tu veux comme résultat final ?
supprimer tous les zeros initiaux ? aller je me lance... Code :
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
||
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : décembre 2007 Messages : 252 ![]() |
le regex doit permettre de formatter les adresse comme http://tools.ietf.org/html/rfc2373#section-2.2
celui que j'ai posté marche presque, mais a enlevé le 0 final dans le 2e cas ce qui est pas bon (devrait finir par ':0' et a mis deux fois '::' dans le 3e cas, alors que ça doit apparaitre 1 fois max j'ai un peu du mal avec les regex donc je suis venu cherché un peu d'aide ici, merci à vous ton script n'est pas bon SpaceFrog, il ne faut pas supprimer les 0 comme cela |
|
|
00
|
|
|
#4 | ||
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 040 ![]() |
Code :
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
||
|
|
00
|
|
|
#5 | ||
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 040 ![]() |
ou
plus direct Code :
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
||
|
|
00
|
|
|
#6 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 040 ![]() |
heu en fait
au cas ou il y ait des 0 au début [edit] fonctionne tout aussi bien ^^
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#7 | ||||||
|
Futur Membre du Club
![]() Inscription : décembre 2007 Messages : 252 ![]() |
ça donne
Code :
Code :
soit utiliser les 2 premiers regex que j'avais mis en fait le premier supprime les 0, le deuxième remplace les '::::' par juste '::' mais le problème est que ça doit être fait qu'une seule fois dans l'adresse et remettre des 0, après, compliqué, ta solution est bien meilleure, il faut un deuxième regex pour remplacer les groupes de 0 intérieurs, leading ou trailing par '::', mais une seule fois donc regex pas global, au pire en faisant la première occurence, tant pis si ce n'est pas la plus longue ':0:', ':0:0:', ':0:0:0:', ':0:0:0:0:',... par '::' '0:0:', '0:0:0:', ...par '::' ':0:0', ':0:0:0', ... par '::' edit Code :
|
||||||
|
|
00
|
|
|
#8 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 040 ![]() |
Essaye
Code :
res=ip.replace(/((^|:)(0(?!$))+){1}((:)0(0(?!$))+)*/g,"$2$5") aaaa:0000:0000:0000:0000:0000:0001:0002 aaaa:0000:0000:0000:0020:0000:0001:0000 aaaa:0000:0002:0002:0000:0000:0001:0002 000a:0000:0000:0000:0000:0000:0001:0000
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#9 | ||
|
Futur Membre du Club
![]() Inscription : décembre 2007 Messages : 252 ![]() |
Code :
comme il y a d'abord un remplacement global (dans chaque groupe) puis il doit y avoir un seul remplacement par '::', c'est pour ça que je ne pense pas que c'est possible en un seul regex |
||
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 421 ![]() |
tu trouveras dans ce source
http://jeanyves.terrien.free.fr/org....chekmethods.js une regexp nommé IPV6 et une autre IPV6OrNull qui matchent IPV6 (créées pour valider des formulaires) A+JYT |
|
|
10
|
|
|
#11 | ||||
|
Membre éclairé
![]() F5(){F5} Inscription : avril 2008 Messages : 256 ![]() |
en fait, j'ai upvoté, mais la réponse répond pas à la question.
La question c'est de simplifier une ipv6, pas d'en checker la validité. J'en profite pour rajouter une regex : Code :
var ip='00aa:0:0:0:0FF0:000:0020:000:00F'; //remplace un truc style 0000 par 0 et 000F par F pour chacun des groupes se terminant par : Code :
.replace(/((0+)([0-9a-fA-F]+):)/g,'$3:'); bref un truc style Code :
Code :
|
||||
|
|
00
|
|
|
#12 |
|
Futur Membre du Club
![]() Inscription : décembre 2007 Messages : 252 ![]() |
merci sekaijin
le match avec ce regex me servira surement mais j'ai surtout besoin d'un regex utilisable avec replace pour formatter les adresses, les reduire en taille |
|
|
00
|
|
|
#13 |
|
Futur Membre du Club
![]() Inscription : décembre 2007 Messages : 252 ![]() |
galerien69
'aaaa::1::0' n'est pas valide car on ne sait pas si c'est 'aaaa:0:0:1:0:0:0:0' ou 'aaaa:0:0:0:0:1:0:0' ... 'aaaa:0000:0000:0000:0001:0000:0000:0000' se formatte par 'aaaa::1:0:0:0' ou 'aaaa:0:0:0:1::' celui que j'avais mis semble marcher pour les adresses que j'ai essayé Code :
'0000:0001:0002:0000:0a00:0001:0000:0000:0000'.replace(/(^|:)0{1,3}/g,"$1").replace(/((0:)|:)*(0:0)((:0)|:)*/, "::") |
|
|
00
|
|
|
#14 |
|
Membre éclairé
![]() F5(){F5} Inscription : avril 2008 Messages : 256 ![]() |
Ben jtavouerai que je me suis pas embêter sur les tests.
Je vous ai vu en proposer plein, je me suis dit qu'ils avaient intélligemment été choisis. Donc le test 'aaaa::1::0' n'est pas valide, ben ui. Après on peut tester l'ip f:f la regex donnera aussi f:f, pourtant l'ip qu'on teste est pas valide non plus... Mais bon, chui ok que j'aurais pas du recopier toutes les ip de tests sans les regarder ... |
|
|
00
|
|
|
#15 |
|
Futur Membre du Club
![]() Inscription : décembre 2007 Messages : 252 ![]() |
a priori ce que t'a fait est bon
tes deux derniers regex pourrait pas etre compacté en un? si au final il est plus court je le prend! |
|
|
00
|
|
|
#16 |
|
Membre éclairé
![]() F5(){F5} Inscription : avril 2008 Messages : 256 ![]() |
je sais pas, chui pas un pro de la regex, j'imagine que oui, mais bon...
de toute façon, ya aucun intérêt à la faire plus courte pour la rendre illisible. |
|
|
00
|
|
|
#17 | ||||||
|
Futur Membre du Club
![]() Inscription : décembre 2007 Messages : 252 ![]() |
ok galerien 69
en fait tes deux derniers regex je les remplace par sinon, ton premier regex m'interesse, par contre marche pas sur Code :
Code :
j'ai changé ton regex en: peut etre que ça marche, je dois essayer d'autres adresses Code :
|
||||||
|
|
00
|
|
|
#18 | ||
|
Membre éclairé
![]() F5(){F5} Inscription : avril 2008 Messages : 256 ![]() |
Code :
Si tu mets {2,4}, ca veut dire que si t'as une suite 0:00:0: tu vas juste remplacer 0::0, ce n'est pas désiré. sinon, je sais pas ce que veut dire |
||
|
|
00
|
|
|
#19 | ||||||
|
Futur Membre du Club
![]() Inscription : décembre 2007 Messages : 252 ![]() |
Code :
edit en gros voilà le truc qui marche Code :
edit2 j'aurai juste besoin d'aide ce regex marche presque (sauf le 0 final) Code :
|
||||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com