Je ne sais pas comment écrire une telle regex. Je vais commencer par l'exemple.Problème de correspondance Regex
Mon mauvais regex:
(\d*),?(\d*\.?\d*)-?(\d*\.?\d*),?([0-1]?),?([0-1]?),?([^\/]*)
Correspondances qui sont OK:
1,2-3,1,1,asdf
1,2-3,1,1
1,2-3,1
1,2-3
1,2
1
Mais malheureusement, ce sera également adapté et je ne veux pas que ce soit:
asdf
1,asdf
Idéalement, je voudrais quelque chose comme - match, si les groupes précédents ont été assortis. Je sais que le regard probablement positif derrière devrait être utilisé, mais si je ne me trompe pas, il devrait être utilisé juste en face de chaque groupe, sauf le 1er et regex serait grand et malodorant après cela. Euh, et ce serait probablement de longueur variable.
Y a-t-il une façon élégante de faire cela?
EDIT
Je veux trouver toutes les lignes ci-dessous correspondances qui sont OK. Je veux faire correspondre \d*
au premier groupe. Ensuite, s'il y avait un match à \d*
suivi par ,
, je voudrais faire correspondre (\d*\.?\d*)
au deuxième groupe. Après cela, s'il y avait un match dans le premier groupe suivi par ,
et correspondre dans le deuxième groupe suivi par -
je voudrais faire correspondre un autre (\d*\.?\d*)
... etc à la fin de Regex.
Pouvez-vous expliquer ** ce que ** vous voulez faire correspondre, pas ce que vous n'avez pas? – detunized
oui, qu'essayez-vous d'accomplir? Cela aiderait .. –
Vous ne l'expliquez toujours pas ... Focus et postez une question claire. –