![]() |
Forum SELFHTML: Archives: |
|
|
Le message suivant est de: Celelibi,
celelibi@espionet.com, 13. 12. 2003, 18:25
http://www.espionet.com
voilà j'ai un pb avec les expression régulières.
en fait j'ai une chaine de caractères avec une alternance de chiffres et de lettres, et je voudrait récupérer séparément les groupes de chiffres et les groupes de lettres.
par exemple si j'ai une chaine de caractères comme ça "abc123def456ghi" je voudrait pouvoir récupérer un tableau de ce genre là ["abc","123","def","456","ghi"]
en gros je cherche comment avec une expression régulière je peut chercher plusieurs choses en même temps.
je cherche à récupérer (\D*), et en même temps (\d*).
j'ai bien sûr essayé les expressions suivantes, mais aucune ne me donne le résultat esspéré.
/(\D*)(\d*)/g
lui il me donne ["abc123","def456","ghi"] ce qui est normal, mais c'est pas ce que je veut.
j'ai aussi essayé
/(\D*)(\d*)/g
mais lui il me donne ["abc",undefined,undefined,undefined,"def",undefined,undefined,undefined,"ghi",undefined,undefined,undefined] ce qui est aussi normal, et la présence de tous ces "undefined" est très bien expliqué dans le standard ECMA-262 partie 15.10.2.3 .
enfin ça c'est quand j'ai testé avec string.match() avec RegExp.exec() j'obtient à peu près la même chose à part la gestion des parenthèses un peu différentes.
je sait que le plus simple ça serait de coder ça moi même, mais c'est moins marrant.
voici encore un message très claire seulement pour ceux qui arrivent à se glisser dans mon esprit.
ps pour David : non ça c'est pas pour un challenge, mais pour trier des noms qui ressenblent à xxx1 xxx2 xxx18 ou plus complexe xxx1xx xxx2xx etc...
![]()
© 1998-2004
selfhtml@fr.selfhtml.org