MySQL Forums
Forum List  »  French

Re: Requete sur champ texte complexe
Posted by: Jean Mollin
Date: May 18, 2009 11:39AM

Salut,
en fait pour le regexp, il faudrait une expression un peu élaborée pour capturer les tranches contenant la valeur recherchée.
Exemple :
(.*)?(27|(([^0-9][0-9])|([0-1][0-9])|([2][0-6]))\-(([2][8-9])|([3-9][0-9])|([0-9]+[0-9][0-9])))(.*)?
Avec ça, je trouve 27 dans la seconde série, mais pas dans la première, ton exemple fonctionne. Restera donc à l'adapter pour une construction dynamique.

Pour expliquer un peu l'expression ci-dessus, elle est en trois parties principales:
-1- n'importe quoi ou rien au début;
-2- la chaine recherchée;
-3- n'importe quoi ou rien à la fin.

Pour la seconde partie, je joue sur des alternatives :
-1- le nombre exact recherché;
-2- un nombre inférieur suivi d'un tiret et terminé par un nombre supérieur.

Pour construire un nombre inférieur, si je prends par exemple 27, j'ai au choix:
-1- un chiffre de 0 à 9 (non précédé d'un autre chiffre, important)
ou un premier chiffre de 0 à 1 suivi d'un chiffre de 0 à 9 (maxi => 19)
ou un premier chiffre égal à 2 suivi d'un chiffre de 0 à 6 (maxi => 26)
-2- un tiret;
-3- un chiffre de 2 suivi d'un chiffre de 8 à 9 (mini => 28, maxi => 29)
ou un chiffre de 3 à 9 suivi d'un chiffre de 0 à 9 (de 30 à 99)
ou un nombre indéterminé de chiffres de 0 à 9 suivi d'un chiffre de 0 à 9 suivi encore d'un chiffre de 0 à 9 (donc > 100)

Si tu prends mon exemple d'expression et que tu la mets sur plusieurs lignes avec une indentation, ce sera peut-être beaucoup plus facile à suivre ;)

Pour une construction dynamique, il faudra dans ce cas décomposer le nombre recherché en unité/dizaine/centaine?/etc? et construire les blocs d'alternative : pas nécessairement simple, mais faisable ;)

______________________________________________________________
Une question bien formulée, c'est un problème bien compris : ça représente déjà les 3/4 de la réponse ;)

Options: ReplyQuote


Subject
Views
Written By
Posted
5190
May 18, 2009 03:20AM
Re: Requete sur champ texte complexe
4108
May 18, 2009 11:39AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.