stuggling un peu avec le RegEx, j'ai 4 codes dans une chaîneRegEx et les codes correspondant à droite à gauche
CODE4: CODE3: CODE2: CODE1
chaque code est facultative en dehors de CODE1
donc je pourrais avoir ab: bc: de: fg
ou
bc :: fg
de
ab ::: fg
Dans chaque cas de ce qui précède CODE1 = fg DND pour la vie chère de moi, je ne peux pas travailler le regex
serait facile de faire comme l'analyse de chaîne standard, mais malheureusement à cause des objets d'affaires dans doit être fait via regex :-(et retour via un vB.net RegEX.matche, groupes ("Code1") fg (J'espère que cela fait sens)
Merci en avance pour toute aide
Terminé avec un peu de RegEx qui fait le travail, peu en désordre, mais cela fonctionne
(^(?<code1>[\w]*)$)|(^(?<code2>[\w]*):(?<code1>[\w]*)$)|(^(?<code3>[\w]*):(?<code2>[\w]*):(?<code1>[\w]*)$)|(^(?<code4>[\w]*):(?<code3>[\w]*):(?<code2>[\w]*):(?<code1>[\w]*)$)
Ta tous
Je préférerais [^:] + à \ w * personnellement, à part cela semble bon –
Fonctionne bien et correspond à toutes les variantes du code, mais je ne vois pas comment extraire via regex.matches, groupes l'individu parts (code1) J'ai mis à jour la question pourquoi je dois le faire comme ceci – spacemonkeys
@Jeff Atwood: Je ne vois pas l'avantage de [^:] sur \ w si les codes sont alphanumériques, et le + au lieu de * est faux ici, puisque nous pouvons avoir des champs vides. – PhiLho