Expression régulière SVP [Résolu]

Signaler
Messages postés
21
Date d'inscription
samedi 12 août 2006
Statut
Membre
Dernière intervention
29 mai 2019
-
Messages postés
21
Date d'inscription
samedi 12 août 2006
Statut
Membre
Dernière intervention
29 mai 2019
-
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

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
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}
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
11
Salut,

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

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

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.
Messages postés
21
Date d'inscription
samedi 12 août 2006
Statut
Membre
Dernière intervention
29 mai 2019

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