Expression régulière SVP

Résolu
lamyruth Messages postés 21 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 29 mai 2019 - 10 juin 2009 à 17:27
lamyruth Messages postés 21 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 29 mai 2019 - 13 juin 2009 à 14:12
Bonjour,
je cherche deux expression régulières pour effectuer des tests sur des chianes de caractères.
La première chaine devrait etre sous la forme:
YYYYMMDDmmssPPRR-ABCDEFG
ou YYYYMMDDHHmm est un chiffre de 12 caractères
PPRR une chaine
ABCDEFG une autre chaine
le tiret entre PPRR et  ABCDEFG est obligatoire
J'ai proposé l'expression  régulière: "^\d{12}[a-zA-Z0-9]"
mais elle laisse passer des chaines "incorrectes"


NNNNN-YYMMDD-HHmmss-TOTO
où NNNNN est un chiffre (nombre de caractaire non précisé)
YYMMDD et HHmmss sont des chiffres et TOTO une chaines quelconque
je n'ai pas de proposition pour cette expression régulière.


STP auriez vous une solution?
NB :Je développe en C#
Merci d'avance.




 

Merci

4 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
12 juin 2009 à 10:04
je dirai:

\d{12}(\w+)-(\w+)

le \w, ca veux dire, alphanumérique

Aesgar, quelques remarques, pour t'aider a avancer.

[0-9] => \d
{12,12} => {12}
3
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
10 juin 2009 à 18:15
Salut,

Il y a un site regex : http://regex.codes-sources.com/

[ déplacé sur regex.codes-sources ]
0
Aesgar Messages postés 1 Date d'inscription jeudi 14 février 2008 Statut Membre Dernière intervention 11 juin 2009
11 juin 2009 à 19:16
Salut,

Alors, pour le premier :
^[0-9]{12,12}[a-zA-Z]{4,4}\-[a-zA-Z]{7,7}

Et pour le second :
^[0-9]+\-[0-9]{6,6}\-[0-9]{6,6}\-.+

Sauf erreur de ma part, ça devrait être ça.
0
lamyruth Messages postés 21 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 29 mai 2019
13 juin 2009 à 14:12
Bonjour,je vous remerci de l'effort que vous vous etes donné pour m'apporter
une réponse.
J'ai utilisé pour le premier "\d{12}(\w+)-(.*) "


Pour le deuxieme ,je il n'etait finalement pas nécessaire d'utiliser une expression régulière.j'ai testé au niveau du code en faisant un plit('-') sur la chaîne à tester.
Je profite pour m'excuser auprès des contributeurs auquel je n'est pas donné suite à mes demandes après leurs reponses.
J'ai beaucoup de respect pour vous et ce n'ai nullement par mepris comme j'ai cru lire dans un MP.

Merci
0
Rejoignez-nous