Bonjour,

J'ai quelques difficultés avec les expressions régulières.

Sur la même requête SELECT, je dois identifier des nombres et les remplacer par 2 valeurs en fonction d'une expression régulière.

La première expression régulière est
peut commencer par 2 ou 3 lettres majuscules, doit être suivi de plus de 7 chiffres, peut finir par 2 ou 3 lettres majuscules
Il faut qu'il y ai au moins 2 lettres soit au début soit a la fin
exemple :
AA0123456789AA
AA0123456789
0123456789AA
a remplacer par [Numéro1]

Et la seconde
si la première n'est pas trouvé,
doit faire plus de 7 chiffres
0123456789
a remplacer par [Numéro2]


Pour le moment mon expression régulière ressemble a
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
SELECT champ1, regexp_replace(champ2, '[A-Z]{0,3}[0-9]{7,}[A-Z]{0,3}', '[Numéro1]'), champ3
FROM table1

Je ne sais pas comment faire pour remplacer l'expression 2 par '[Numéro2]', si l'expression 1 n'est pas rencontré.

Mon expression régulière que j'ai déjà écrite, ne fonctionne pas comme je le souhaiterais.

Pouvez vous m'aider ?
Je reste a disposition pour des questions supplémentaires
Cordialement,
Valgrin